{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "仓库地址: https://gitee.com/wd-yhm/association-rule"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from mlxtend.frequent_patterns import apriori\n",
    "from mlxtend.preprocessing import TransactionEncoder\n",
    "from mlxtend.frequent_patterns import association_rules"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据预处理"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "读取文件，将数据存储在列表all_list中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['I', '4', 'www.microsoft.com', 'created by getlog.pl'],\n",
       " ['T', '1', 'VRoot', '0', '0', 'VRoot'],\n",
       " ['N', '0', '0'],\n",
       " ['N', '1', '1'],\n",
       " ['T', '2', 'Hide1', '0', '0', 'Hide'],\n",
       " ['N', '0', '0'],\n",
       " ['N', '1', '1'],\n",
       " ['A', '1287', '1', 'International AutoRoute', '/autoroute'],\n",
       " ['A', '1288', '1', 'library', '/library'],\n",
       " ['A', '1289', '1', 'Master Chef Product Information', '/masterchef'],\n",
       " ['A', '1297', '1', 'Central America', '/centroam'],\n",
       " ['A', '1215', '1', 'For Developers Only Info', '/developer'],\n",
       " ['A', '1279', '1', 'Multimedia Golf', '/msgolf'],\n",
       " ['A', '1239', '1', 'Microsoft Consulting', '/msconsult'],\n",
       " ['A', '1282', '1', 'home', '/home'],\n",
       " ['A', '1251', '1', 'Reference Support', '/referencesupport'],\n",
       " ['A', '1121', '1', 'Microsoft Magazine', '/magazine'],\n",
       " ['A', '1083', '1', 'MS Access Support', '/msaccesssupport'],\n",
       " ['A', '1145', '1', 'Visual Fox Pro Support', '/vfoxprosupport'],\n",
       " ['A', '1276', '1', 'Visual Test Support', '/vtestsupport'],\n",
       " ['A', '1200', '1', 'Benelux Region', '/benelux'],\n",
       " ['A', '1259', '1', 'controls', '/controls'],\n",
       " ['A', '1155', '1', 'Sidewalk', '/sidewalk'],\n",
       " ['A', '1092', '1', 'Visual FoxPro', '/vfoxpro'],\n",
       " ['A', '1004', '1', 'Microsoft.com Search', '/search'],\n",
       " ['A', '1057', '1', 'MS PowerPoint News', '/powerpoint'],\n",
       " ['A', '1140', '1', 'Netherlands (Holland)', '/netherlands'],\n",
       " ['A', '1198', '1', 'Picture It', '/pictureit'],\n",
       " ['A', '1147', '1', 'Microsoft Financial Forum', '/msft'],\n",
       " ['A', '1005', '1', 'Norway', '/norge'],\n",
       " ['A',\n",
       "  '1026',\n",
       "  '1',\n",
       "  'Internet Site Construction for Developers',\n",
       "  '/sitebuilder'],\n",
       " ['A', '1119', '1', 'Corporation Information', '/corpinfo'],\n",
       " ['A', '1216', '1', 'Virtual Reality Markup Language', '/vrml'],\n",
       " ['A', '1218', '1', 'MS Publisher Support', '/publishersupport'],\n",
       " ['A', '1205', '1', 'Hardware Supprt', '/hardwaresupport'],\n",
       " ['A', '1269', '1', 'Customer Guides', '/business'],\n",
       " ['A', '1031', '1', 'MS Office', '/msoffice'],\n",
       " ['A', '1003', '1', 'Knowledge Base', '/kb'],\n",
       " ['A', '1238', '1', 'Excel Development', '/exceldev'],\n",
       " ['A', '1118', '1', 'SQL Server', '/sql'],\n",
       " ['A', '1242', '1', 'MS Garden', '/msgarden'],\n",
       " ['A', '1171', '1', 'MS Merchant', '/merchant'],\n",
       " ['A', '1175', '1', 'MS Project Support', '/msprojectsupport'],\n",
       " ['A', '1021', '1', 'Visual C', '/visualc'],\n",
       " ['A', '1222', '1', 'MS Office News', '/msofc'],\n",
       " ['A', '1284', '1', 'partner', '/partner'],\n",
       " ['A', '1294', '1', 'Bookshelf', '/bookshelf'],\n",
       " ['A', '1053', '1', 'Jakarta', '/visualj'],\n",
       " ['A', '1293', '1', 'Encarta', '/encarta'],\n",
       " ['A', '1167', '1', 'Windows Hardware Testing', '/hwtest'],\n",
       " ['A', '1202', '1', 'Advanced Technology', '/advtech'],\n",
       " ['A', '1234', '1', 'Office Free Stuff News', '/off97cat'],\n",
       " ['A', '1054', '1', 'Exchange', '/exchange'],\n",
       " ['A', '1262', '1', 'Chile', '/chile'],\n",
       " ['A', '1074', '1', 'Windows NT Workstation', '/ntworkstation'],\n",
       " ['A', '1027', '1', 'Internet Development', '/intdev'],\n",
       " ['A', '1061', '1', 'promo', '/promo'],\n",
       " ['A', '1236', '1', 'Developing for Global Markets', '/globaldev'],\n",
       " ['A', '1212', '1', 'World Wide Offices', '/worldwide'],\n",
       " ['A', '1204', '1', 'MS Schedule+', '/msscheduleplus'],\n",
       " ['A', '1196', '1', 'ie40', '/ie40'],\n",
       " ['A', '1188', '1', 'Korea', '/korea'],\n",
       " ['A', '1228', '1', 'Visual Test', '/vtest'],\n",
       " ['A', '1078', '1', 'NT Server Support', '/ntserversupport'],\n",
       " ['A', '1008', '1', 'Free Downloads', '/msdownload'],\n",
       " ['A', '1052', '1', 'MS Word News', '/word'],\n",
       " ['A', '1091', '1', 'Windows Hardware Development', '/hwdev'],\n",
       " ['A', '1280', '1', 'MS Interactive Music Control', '/music'],\n",
       " ['A', '1247', '1', 'Wine Guide', '/wineguide'],\n",
       " ['A', '1064', '1', 'MS Site Builder Workshop', '/activeplatform'],\n",
       " ['A', '1065', '1', 'Java Strategy and Info', '/java'],\n",
       " ['A', '1133', '1', 'FrontPage Support', '/frontpagesupport'],\n",
       " ['A', '1102', '1', 'Microsoft Home Essentials', '/homeessentials'],\n",
       " ['A', '1132', '1', 'MS Money Support', '/msmoneysupport'],\n",
       " ['A', '1240', '1', 'Thailand', '/thailand'],\n",
       " ['A', '1225', '1', 'Anti Piracy Information', '/piracy'],\n",
       " ['A', '1130', '1', 'IT Technical Information', '/syspro'],\n",
       " ['A', '1157', '1', 'Windows 32 bit developer', '/win32dev'],\n",
       " ['A', '1058', '1', 'SP Referral (ART)', '/referral'],\n",
       " ['A', '1076', '1', 'NT Workstation Support', '/ntwkssupport'],\n",
       " ['A', '1163', '1', 'Open Type', '/opentype'],\n",
       " ['A', '1187', '1', 'ODBC Development', '/odbc'],\n",
       " ['A', '1152', '1', 'Russia', '/rus'],\n",
       " ['A', '1139', '1', 'MS in K-12 Education', '/k-12'],\n",
       " ['A', '1223', '1', 'Finland', '/finland'],\n",
       " ['A', '1001', '1', 'Support Desktop', '/support'],\n",
       " ['A', '1043', '1', 'Connecting Small Business', '/smallbiz'],\n",
       " ['A', '1165', '1', 'Poland', '/poland'],\n",
       " ['A', '1194', '1', 'China', '/china'],\n",
       " ['A', '1138', '1', 'Developer Magazine', '/mind'],\n",
       " ['A', '1158', '1', 'Interactive Media Technologies', '/imedia'],\n",
       " ['A', '1094', '1', 'Microsoft Home', '/mshome'],\n",
       " ['A', '1055', '1', 'MSHome Kids Stuff', '/kids'],\n",
       " ['A', '1277', '1', 'NetShow for PowerPoint', '/stream'],\n",
       " ['A', '1143', '1', 'Site Builder Workshop', '/workshoop'],\n",
       " ['A', '1068', '1', 'VBScript Development', '/vbscript'],\n",
       " ['A', '1229', '1', 'Uruguay', '/uruguay'],\n",
       " ['A', '1177', '1', 'Master Marketing Calendar', '/events'],\n",
       " ['A', '1014', '1', 'Office Free Stuff', '/officefreestuff'],\n",
       " ['A', '1019', '1', 'MS PowerPoint', '/mspowerpoint'],\n",
       " ['A', '1122', '1', 'Microsoft User Group Program', '/mindshare'],\n",
       " ['A', '1041', '1', 'Developer Workshop', '/workshop'],\n",
       " ['A', '1033', '1', 'MS Store Logo Merchandise', '/logostore'],\n",
       " ['A', '1233', '1', 'vbscripts', '/vbscripts'],\n",
       " ['A', '1211', '1', 'SMSMGT Support', '/smsmgmtsupport'],\n",
       " ['A', '1199', '1', 'feedback', '/feedback'],\n",
       " ['A', '1024', '1', 'Internet Information Server', '/iis'],\n",
       " ['A', '1179', '1', 'Colombia', '/colombia'],\n",
       " ['A', '1067', '1', 'FrontPage', '/frontpage'],\n",
       " ['A', '1181', '1', 'Kids Support', '/kidssupport'],\n",
       " ['A', '1174', '1', 'New Zealand', '/nz'],\n",
       " ['A', '1162', '1', 'IIS Support', '/infoservsupport'],\n",
       " ['A', '1046', '1', 'IE Support', '/iesupport'],\n",
       " ['A', '1197', '1', 'SQL Support', '/sqlsupport'],\n",
       " ['A', '1231', '1', 'Windows NT Developer Support', '/win32devsupport'],\n",
       " ['A', '1141', '1', 'Europe', '/europe'],\n",
       " ['A', '1120', '1', 'Switching from Competitive Products', '/switch'],\n",
       " ['A', '1112', '1', 'Canada', '/canada'],\n",
       " ['A', '1142', '1', 'South Africa', '/southafrica'],\n",
       " ['A', '1250', '1', 'Middle East', '/middleeast'],\n",
       " ['A', '1214', '1', 'MS Financial Services', '/finserv'],\n",
       " ['A', '1190', '1', 'Repository', '/repository'],\n",
       " ['A', '1098', '1', 'For Developers Only', '/devonly'],\n",
       " ['A', '1263', '1', 'Educational Services & Programs', '/services'],\n",
       " ['A', '1049', '1', 'Support Network Program Information', '/supportnet'],\n",
       " ['A', '1073', '1', 'Taiwan', '/taiwan'],\n",
       " ['A', '1166', '1', 'Mexico', '/mexico'],\n",
       " ['A', '1226', '1', 'MS Schedule+ Support', '/msschedplussupport'],\n",
       " ['A', '1184', '1', 'MS Excel Support', '/msexcelsupport'],\n",
       " ['A', '1025', '1', \"Web Site Builder's Gallery\", '/gallery'],\n",
       " ['A', '1160', '1', 'Visual C Support', '/visualcsupport'],\n",
       " ['A', '1156', '1', 'Powered by BackOffice', '/powered'],\n",
       " ['A', '1268', '1', 'javascript', '/javascript'],\n",
       " ['A', '1220', '1', 'Mac Office Support', '/macofficesupport'],\n",
       " ['A', '1060', '1', 'MS Word', '/msword'],\n",
       " ['A', '1203', '1', 'Denmark', '/danmark'],\n",
       " ['A', '1176', '1', 'Java Script Development', '/jscript'],\n",
       " ['A', '1168', '1', 'Sales Information (infobase)', '/salesinfo'],\n",
       " ['A', '1066', '1', 'Music Producer', '/musicproducer'],\n",
       " ['A', '1128', '1', 'MS Solutions Framework', '/msf'],\n",
       " ['A', '1275', '1', 'security.', '/security.'],\n",
       " ['A', '1136', '1', 'WorldWide Offices - US Districts', '/usa'],\n",
       " ['A', '1146', '1', 'Microsoft Solution Providers', '/msp'],\n",
       " ['A', '1237', '1', 'Developer Days', '/devdays'],\n",
       " ['A', '1081', '1', 'Access Development', '/accessdev'],\n",
       " ['A', '1016', '1', 'MS Excel', '/excel'],\n",
       " ['A', '1069', '1', 'Windows CE', '/windowsce'],\n",
       " ['A', '1148', '1', 'Channel Resources', '/channel_resources'],\n",
       " ['A', '1161', '1', 'Works Support', '/workssupport'],\n",
       " ['A', '1013', '1', 'Visual Basic Support', '/vbasicsupport'],\n",
       " ['A', '1116', '1', 'Switzerland', '/switzerland'],\n",
       " ['A', '1093', '1', 'VBA Development', '/vba'],\n",
       " ['A', '1249', '1', 'Fortran Support', '/fortransupport'],\n",
       " ['A', '1095', '1', 'Product Catalog', '/catalog'],\n",
       " ['A', '1023', '1', 'Spain', '/spain'],\n",
       " ['A', '1192', '1', 'Visual J++ Support', '/visualjsupport'],\n",
       " ['A', '1080', '1', 'Brazil', '/brasil'],\n",
       " ['A', '1050', '1', 'Macintosh Office', '/macoffice'],\n",
       " ['A', '1255', '1', 'Message Queue Server', '/msmq'],\n",
       " ['A', '1273', '1', 'mdn', '/mdn'],\n",
       " ['A', '1206', '1', 'Volume Purchasing Options', '/select'],\n",
       " ['A', '1230', '1', 'Mail Support', '/mailsupport'],\n",
       " ['A', '1172', '1', 'Belgium', '/belgium'],\n",
       " ['A', '1011', '1', 'MS Office Development', '/officedev'],\n",
       " ['A', '1009', '1', 'Windows Family of OSs', '/windows'],\n",
       " ['A', '1096', '1', 'Microsoft Press', '/mspress'],\n",
       " ['A', '1235', '1', 'MS Training Evaluation', '/onlineeval'],\n",
       " ['A', '1070', '1', 'ActiveX Technology Development', '/activex'],\n",
       " ['A', '1154', '1', 'MS Project', '/project'],\n",
       " ['A', '1099', '1', 'Executive Computing', '/cio'],\n",
       " ['A', '1186', '1', 'Job Listings for Pre-Grads', '/college'],\n",
       " ['A', '1291', '1', 'news', '/news'],\n",
       " ['A', '1256', '1', 'Solutions in Action', '/sia'],\n",
       " ['A', '1270', '1', 'developr', '/developr'],\n",
       " ['A', '1232', '1', 'SiteBuilder Network Specs & Standards', '/standards'],\n",
       " ['A', '1159', '1', 'Transaction Server', '/transaction'],\n",
       " ['A', '1035', '1', 'Windows95 Support', '/windowssupport'],\n",
       " ['A', '1164', '1', 'Systems Management Server', '/smsmgmt'],\n",
       " ['A', '1077', '1', 'MS Office Support', '/msofficesupport'],\n",
       " ['A', '1295', '1', 'Training', '/train_cert'],\n",
       " ['A', '1056', '1', 'sports', '/sports'],\n",
       " ['A', '1006', '1', 'misc', '/misc'],\n",
       " ['A', '1272', '1', 'softlib', '/softlib'],\n",
       " ['A', '1123', '1', 'Germany', '/germany'],\n",
       " ['A', '1151', '1', 'MS PowerPoint Support', '/mspowerpointsupport'],\n",
       " ['A', '1103', '1', 'MS Works', '/works'],\n",
       " ['A', '1243', '1', 'MS Usability Group', '/usability'],\n",
       " ['A', '1244', '1', 'Developer Newswire', '/devwire'],\n",
       " ['A', '1260', '1', 'Exchange Trial', '/trial'],\n",
       " ['A', '1258', '1', 'Peru', '/peru'],\n",
       " ['A', '1208', '1', 'Israel', '/israel'],\n",
       " ['A', '1106', '1', 'Czech Republic', '/cze'],\n",
       " ['A', '1124', '1', 'Industry Marketing Information (Vertical)', '/industry'],\n",
       " ['A', '1114', '1', 'Service Advantage', '/servad'],\n",
       " ['A', '1012', '1', 'Outlook Development', '/outlookdev'],\n",
       " ['A', '1045', '1', 'NetMeeting', '/netmeeting'],\n",
       " ['A', '1082', '1', 'MS Access', '/access'],\n",
       " ['A', '1261', '1', \"MS's Complete Do It Yourself Guide\", '/diyguide'],\n",
       " ['A', '1137', '1', 'About Microsoft ', '/mscorp'],\n",
       " ['A', '1059', '1', 'Sweden', '/sverige'],\n",
       " ['A', '1037', '1', 'Windows 95', '/windows95'],\n",
       " ['A', '1227', '1', 'Argentina', '/argentina'],\n",
       " ['A', '1281', '1', 'IntelliMouse', '/intellimouse'],\n",
       " ['A', '1134', '1', 'BackOffice', '/backoffice'],\n",
       " ['A', '1044', '1', 'Developer Media Development', '/mediadev'],\n",
       " ['A', '1028', '1', 'OLE Development', '/oledev'],\n",
       " ['A', '1248', '1', 'Softimage ', '/softimage'],\n",
       " ['A', '1085', '1', 'Exchange Support', '/exchangesupport'],\n",
       " ['A', '1131', '1', 'MS Money Information', '/moneyzone'],\n",
       " ['A', '1079', '1', 'Australia', '/australia'],\n",
       " ['A', '1048', '1', 'MS Publisher', '/publisher'],\n",
       " ['A', '1042', '1', 'Visual Studio', '/vstudio'],\n",
       " ['A', '1075', '1', 'Job Openings', '/jobs'],\n",
       " ['A', '1201', '1', 'MS Hardware', '/hardware'],\n",
       " ['A', '1105', '1', 'France', '/france'],\n",
       " ['A', '1153', '1', 'Venezuela', '/venezuela'],\n",
       " ['A', '1292', '1', 'MS North Africa', '/northafrica'],\n",
       " ['A', '1015', '1', 'Excel', '/msexcel'],\n",
       " ['A', '1290', '1', 'Activate the Internet Conference', '/devmovies'],\n",
       " ['A', '1017', '1', 'Products ', '/products'],\n",
       " ['A', '1010', '1', 'Visual Basic', '/vbasic'],\n",
       " ['A', '1126', '1', 'Media Manager', '/mediamanager'],\n",
       " ['A', '1144', '1', 'For Developers Only News', '/devnews'],\n",
       " ['A', '1191', '1', 'Management', '/management'],\n",
       " ['A', '1002', '1', 'End User Produced View', '/athome'],\n",
       " ['A', '1213', '1', 'Corporate Customers', '/corporate_solutions'],\n",
       " ['A', '1084', '1', 'UK', '/uk'],\n",
       " ['A', '1178', '1', 'msdownload.', '/msdownload.'],\n",
       " ['A', '1036', '1', 'Corporate Desktop Evaluation', '/organizations'],\n",
       " ['A', '1257', '1', 'Professional Developers Series', '/devvideos'],\n",
       " ['A', '1180', '1', 'Slovenija', '/slovenija'],\n",
       " ['A', '1246', '1', 'Developer Media Games', '/gamesdev'],\n",
       " ['A', '1088', '1', 'OutLook', '/outlook'],\n",
       " ['A', '1117', '1', 'Sidewinder', '/sidewinder'],\n",
       " ['A', '1097', '1', 'Latin America Region', '/latam'],\n",
       " ['A', '1266', '1', 'Licenses and Piracy', '/licenses'],\n",
       " ['A', '1072', '1', 'Visual InterDev', '/vinterdev'],\n",
       " ['A', '1169', '1', 'MS Project', '/msproject'],\n",
       " ['A', '1107', '1', 'Slovakia', '/slovakia'],\n",
       " ['A', '1089', '1', 'Office Reference', '/officereference'],\n",
       " ['A', '1038', '1', 'SiteBuilder Network Membership', '/sbnmember'],\n",
       " ['A', '1224', '1', 'Authorized Technical Education Center Program', '/atec'],\n",
       " ['A', '1086', '1', 'OEM', '/oem'],\n",
       " ['A', '1108', '1', 'MS TeamManager', '/teammanager'],\n",
       " ['A', '1007', '1', 'International IE content', '/ie_intl'],\n",
       " ['A', '1252', '1', 'Community Affairs', '/giving'],\n",
       " ['A', '1283', '1', 'Cinemainia', '/cinemania'],\n",
       " ['A', '1127', '1', 'NetShow', '/netshow'],\n",
       " ['A', '1189', '1', 'Internet News', '/internet'],\n",
       " ['A', '1110', '1', 'Mastering Series', '/mastering'],\n",
       " ['A', '1090', '1', 'Games Support', '/gamessupport'],\n",
       " ['A', '1109', '1', 'TechNet (World Wide Web Edition)', '/technet'],\n",
       " ['A', '1040', '1', 'MS Office Info', '/office'],\n",
       " ['A', '1150', '1', 'Internet Information Server News', '/infoserv'],\n",
       " ['A', '1195', '1', 'Portugal', '/portugal'],\n",
       " ['A', '1111', '1', 'Visual Source Safe', '/ssafe'],\n",
       " ['A', '1274', '1', 'Professional Developer Conference', '/pdc'],\n",
       " ['A', '1267', '1', 'Caribbean', '/caribbean'],\n",
       " ['A', '1113', '1', 'Internet Security Framework', '/security'],\n",
       " ['A', '1245', '1', 'Open Financial Connectivity', '/ofc'],\n",
       " ['A', '1253', '1', 'MS Word Development', '/worddev'],\n",
       " ['A', '1087', '1', 'MS Proxy Server', '/proxy'],\n",
       " ['A', '1185', '1', 'SNA Server', '/sna'],\n",
       " ['A', '1209', '1', 'Turkey', '/turkey'],\n",
       " ['A', '1063', '1', 'Intranet Strategy', '/intranet'],\n",
       " ['A', '1101', '1', 'Microsoft OLE DB', '/oledb'],\n",
       " ['A', '1264', '1', 'MS Partner Web', '/se_partners'],\n",
       " ['A', '1032', '1', 'Games', '/games'],\n",
       " ['A', '1173', '1', 'Microsoft OnLine Institute', '/moli'],\n",
       " ['A', '1051', '1', 'MS Schedule+ News', '/scheduleplus'],\n",
       " ['A', '1278', '1', 'MS in Higer Education', '/hed'],\n",
       " ['A', '1062', '1', 'MS Access News', '/msaccess'],\n",
       " ['A', '1020', '1', 'Developer Network', '/msdn'],\n",
       " ['A', '1104', '1', 'Hong Kong', '/hk'],\n",
       " ['A', '1071', '1', 'N. American Automap', '/automap'],\n",
       " ['A', '1000', '1', 'regwiz', '/regwiz'],\n",
       " ['A', '1135', '1', 'MS Word Support', '/mswordsupport'],\n",
       " ['A', '1207', '1', 'Internet Control Pack ', '/icp'],\n",
       " ['A', '1217', '1', 'Ireland', '/ireland'],\n",
       " ['A', '1254', '1', 'ie3', '/ie3'],\n",
       " ['A', '1022', '1', 'Typography Site', '/truetype'],\n",
       " ['A', '1183', '1', 'Italy', '/italy'],\n",
       " ['A', '1170', '1', 'Microsoft Mail', '/mail'],\n",
       " ['A', '1241', '1', 'India', '/india'],\n",
       " ['A', '1149', '1', 'Advanced Data Connector', '/adc'],\n",
       " ['A', '1029', '1', 'Clip Gallery Live', '/clipgallerylive'],\n",
       " ['A', '1221', '1', 'Microsoft TV Program Information', '/mstv'],\n",
       " ['A', '1115', '1', 'Hungary', '/hun'],\n",
       " ['A', '1125', '1', 'ImageComposer', '/imagecomposer'],\n",
       " ['A', '1039', '1', 'Internet Service Providers', '/isp'],\n",
       " ['A', '1034', '1', 'Internet Explorer', '/ie'],\n",
       " ['A', '1265', '1', 'Source Safe Support', '/ssafesupport'],\n",
       " ['A', '1271', '1', 'mdsn', '/mdsn'],\n",
       " ['A', '1129', '1', 'ActiveX Data Objects', '/ado'],\n",
       " ['A', '1018', '1', 'isapi', '/isapi'],\n",
       " ['A', '1193', '1', 'Office Developer Support', '/offdevsupport'],\n",
       " ['A', '1219', '1', 'Corporate Advertising Content', '/ads'],\n",
       " ['A', '1030', '1', 'Windows NT Server', '/ntserver'],\n",
       " ['A', '1182', '1', 'Fortran', '/fortran'],\n",
       " ['A', '1100', '1', 'MS in Education', '/education'],\n",
       " ['A', '1210', '1', 'SNA Support', '/snasupport'],\n",
       " ['C', '10001', '10001'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['C', '10002', '10002'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['C', '10003', '10003'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10004', '10004'],\n",
       " ['V', '1005', '1'],\n",
       " ['C', '10005', '10005'],\n",
       " ['V', '1006', '1'],\n",
       " ['C', '10006', '10006'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10007', '10007'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10008', '10008'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10009', '10009'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['C', '10010', '10010'],\n",
       " ['V', '1010', '1'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1011', '1'],\n",
       " ['V', '1012', '1'],\n",
       " ['V', '1013', '1'],\n",
       " ['V', '1014', '1'],\n",
       " ['C', '10011', '10011'],\n",
       " ['V', '1015', '1'],\n",
       " ['V', '1016', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1019', '1'],\n",
       " ['C', '10012', '10012'],\n",
       " ['V', '1020', '1'],\n",
       " ['V', '1021', '1'],\n",
       " ['C', '10013', '10013'],\n",
       " ['V', '1022', '1'],\n",
       " ['C', '10014', '10014'],\n",
       " ['V', '1023', '1'],\n",
       " ['C', '10015', '10015'],\n",
       " ['V', '1024', '1'],\n",
       " ['C', '10016', '10016'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['C', '10017', '10017'],\n",
       " ['V', '1027', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1028', '1'],\n",
       " ['C', '10018', '10018'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10019', '10019'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1029', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1030', '1'],\n",
       " ['V', '1031', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1033', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['C', '10020', '10020'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['C', '10021', '10021'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1036', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1037', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1038', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1039', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1042', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1043', '1'],\n",
       " ['C', '10022', '10022'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10023', '10023'],\n",
       " ['V', '1008', '1'],\n",
       " ['C', '10024', '10024'],\n",
       " ['V', '1044', '1'],\n",
       " ['C', '10025', '10025'],\n",
       " ['V', '1045', '1'],\n",
       " ['C', '10026', '10026'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10027', '10027'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1046', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10028', '10028'],\n",
       " ['V', '1295', '1'],\n",
       " ['C', '10029', '10029'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10030', '10030'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1048', '1'],\n",
       " ['C', '10031', '10031'],\n",
       " ['V', '1045', '1'],\n",
       " ['V', '1049', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1027', '1'],\n",
       " ['V', '1046', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1031', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10032', '10032'],\n",
       " ['V', '1050', '1'],\n",
       " ['C', '10033', '10033'],\n",
       " ['V', '1032', '1'],\n",
       " ['C', '10034', '10034'],\n",
       " ['V', '1037', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10035', '10035'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1051', '1'],\n",
       " ['V', '1038', '1'],\n",
       " ['V', '1031', '1'],\n",
       " ['V', '1052', '1'],\n",
       " ['V', '1053', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10036', '10036'],\n",
       " ['V', '1051', '1'],\n",
       " ['V', '1054', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1052', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1048', '1'],\n",
       " ['C', '10037', '10037'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1055', '1'],\n",
       " ['V', '1056', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['C', '10038', '10038'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1027', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1057', '1'],\n",
       " ['C', '10039', '10039'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1058', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1049', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10040', '10040'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10041', '10041'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10042', '10042'],\n",
       " ['V', '1030', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10043', '10043'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['C', '10044', '10044'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10045', '10045'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10046', '10046'],\n",
       " ['V', '1026', '1'],\n",
       " ['C', '10047', '10047'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1059', '1'],\n",
       " ['C', '10048', '10048'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10049', '10049'],\n",
       " ['V', '1038', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1053', '1'],\n",
       " ['C', '10050', '10050'],\n",
       " ['V', '1025', '1'],\n",
       " ['C', '10051', '10051'],\n",
       " ['V', '1046', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10052', '10052'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1020', '1'],\n",
       " ['V', '1042', '1'],\n",
       " ['C', '10053', '10053'],\n",
       " ['V', '1052', '1'],\n",
       " ['V', '1060', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10054', '10054'],\n",
       " ['V', '1025', '1'],\n",
       " ['C', '10055', '10055'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10056', '10056'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10057', '10057'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10058', '10058'],\n",
       " ['V', '1061', '1'],\n",
       " ['C', '10059', '10059'],\n",
       " ['V', '1008', '1'],\n",
       " ['C', '10060', '10060'],\n",
       " ['V', '1032', '1'],\n",
       " ['C', '10061', '10061'],\n",
       " ['V', '1026', '1'],\n",
       " ['C', '10062', '10062'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1007', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10063', '10063'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10064', '10064'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10065', '10065'],\n",
       " ['V', '1045', '1'],\n",
       " ['V', '1062', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1021', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1056', '1'],\n",
       " ['V', '1046', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10066', '10066'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10067', '10067'],\n",
       " ['V', '1023', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1063', '1'],\n",
       " ['C', '10068', '10068'],\n",
       " ['V', '1064', '1'],\n",
       " ['V', '1065', '1'],\n",
       " ['V', '1066', '1'],\n",
       " ['V', '1067', '1'],\n",
       " ['V', '1027', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1061', '1'],\n",
       " ['V', '1068', '1'],\n",
       " ['V', '1042', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1069', '1'],\n",
       " ['V', '1070', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1071', '1'],\n",
       " ['V', '1072', '1'],\n",
       " ['V', '1010', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1038', '1'],\n",
       " ['V', '1023', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['C', '10069', '10069'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['C', '10070', '10070'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1031', '1'],\n",
       " ['V', '1052', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10071', '10071'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10072', '10072'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10073', '10073'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1031', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1014', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['C', '10074', '10074'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1022', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1053', '1'],\n",
       " ['C', '10075', '10075'],\n",
       " ['V', '1037', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['C', '10076', '10076'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1043', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10077', '10077'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1030', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10078', '10078'],\n",
       " ['V', '1073', '1'],\n",
       " ['C', '10079', '10079'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10080', '10080'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10081', '10081'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10082', '10082'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10083', '10083'],\n",
       " ['V', '1036', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['C', '10084', '10084'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10085', '10085'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1069', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1074', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1037', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10086', '10086'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10087', '10087'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1014', '1'],\n",
       " ['C', '10088', '10088'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10089', '10089'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10090', '10090'],\n",
       " ['V', '1295', '1'],\n",
       " ['C', '10091', '10091'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10092', '10092'],\n",
       " ['V', '1002', '1'],\n",
       " ['C', '10093', '10093'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10094', '10094'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10095', '10095'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10096', '10096'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10097', '10097'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10098', '10098'],\n",
       " ['V', '1032', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10099', '10099'],\n",
       " ['V', '1001', '1'],\n",
       " ['C', '10100', '10100'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['C', '10101', '10101'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1050', '1'],\n",
       " ['C', '10102', '10102'],\n",
       " ['V', '1053', '1'],\n",
       " ['C', '10103', '10103'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1046', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10104', '10104'],\n",
       " ['V', '1075', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10105', '10105'],\n",
       " ['V', '1074', '1'],\n",
       " ['C', '10106', '10106'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1067', '1'],\n",
       " ['C', '10107', '10107'],\n",
       " ['V', '1076', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10108', '10108'],\n",
       " ['V', '1064', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['C', '10109', '10109'],\n",
       " ['V', '1077', '1'],\n",
       " ['V', '1022', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10110', '10110'],\n",
       " ['V', '1053', '1'],\n",
       " ['V', '1042', '1'],\n",
       " ['C', '10111', '10111'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10112', '10112'],\n",
       " ['V', '1067', '1'],\n",
       " ['C', '10113', '10113'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10114', '10114'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10115', '10115'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10116', '10116'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10117', '10117'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1024', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10118', '10118'],\n",
       " ['V', '1020', '1'],\n",
       " ['V', '1070', '1'],\n",
       " ['V', '1042', '1'],\n",
       " ['C', '10119', '10119'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10120', '10120'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10121', '10121'],\n",
       " ['V', '1072', '1'],\n",
       " ['C', '10122', '10122'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['V', '1078', '1'],\n",
       " ['V', '1079', '1'],\n",
       " ['C', '10123', '10123'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10124', '10124'],\n",
       " ['V', '1040', '1'],\n",
       " ['C', '10125', '10125'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['C', '10126', '10126'],\n",
       " ['V', '1080', '1'],\n",
       " ['C', '10127', '10127'],\n",
       " ['V', '1081', '1'],\n",
       " ['V', '1082', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1083', '1'],\n",
       " ['C', '10128', '10128'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10129', '10129'],\n",
       " ['V', '1058', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10130', '10130'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10131', '10131'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10132', '10132'],\n",
       " ['V', '1084', '1'],\n",
       " ['V', '1085', '1'],\n",
       " ['V', '1086', '1'],\n",
       " ['V', '1087', '1'],\n",
       " ['V', '1054', '1'],\n",
       " ['V', '1036', '1'],\n",
       " ['V', '1077', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1088', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1014', '1'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1089', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['C', '10133', '10133'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1037', '1'],\n",
       " ['V', '1090', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['C', '10134', '10134'],\n",
       " ['V', '1010', '1'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1020', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10135', '10135'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10136', '10136'],\n",
       " ['V', '1038', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['C', '10137', '10137'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1045', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10138', '10138'],\n",
       " ['V', '1010', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['C', '10139', '10139'],\n",
       " ['V', '1059', '1'],\n",
       " ['C', '10140', '10140'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10141', '10141'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1022', '1'],\n",
       " ['V', '1046', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1039', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1049', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1002', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10142', '10142'],\n",
       " ['V', '1091', '1'],\n",
       " ['C', '10143', '10143'],\n",
       " ['V', '1039', '1'],\n",
       " ['C', '10144', '10144'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1038', '1'],\n",
       " ['V', '1060', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10145', '10145'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10146', '10146'],\n",
       " ['V', '1008', '1'],\n",
       " ['C', '10147', '10147'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1063', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10148', '10148'],\n",
       " ['V', '1030', '1'],\n",
       " ['V', '1078', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10149', '10149'],\n",
       " ['V', '1025', '1'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10150', '10150'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1092', '1'],\n",
       " ['C', '10151', '10151'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1024', '1'],\n",
       " ['C', '10152', '10152'],\n",
       " ['V', '1035', '1'],\n",
       " ['V', '1020', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['V', '1001', '1'],\n",
       " ['V', '1078', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['C', '10153', '10153'],\n",
       " ['V', '1034', '1'],\n",
       " ['V', '1004', '1'],\n",
       " ['C', '10154', '10154'],\n",
       " ['V', '1036', '1'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1014', '1'],\n",
       " ['C', '10155', '10155'],\n",
       " ['V', '1008', '1'],\n",
       " ['C', '10156', '10156'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1018', '1'],\n",
       " ['V', '1021', '1'],\n",
       " ['V', '1019', '1'],\n",
       " ['V', '1057', '1'],\n",
       " ['V', '1010', '1'],\n",
       " ['V', '1093', '1'],\n",
       " ['V', '1094', '1'],\n",
       " ['V', '1011', '1'],\n",
       " ['V', '1095', '1'],\n",
       " ['V', '1026', '1'],\n",
       " ['V', '1068', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1032', '1'],\n",
       " ['V', '1096', '1'],\n",
       " ['V', '1042', '1'],\n",
       " ['V', '1097', '1'],\n",
       " ['C', '10157', '10157'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1098', '1'],\n",
       " ['C', '10158', '10158'],\n",
       " ['V', '1046', '1'],\n",
       " ['C', '10159', '10159'],\n",
       " ['V', '1099', '1'],\n",
       " ['V', '1054', '1'],\n",
       " ['C', '10160', '10160'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1034', '1'],\n",
       " ['C', '10161', '10161'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1007', '1'],\n",
       " ['C', '10162', '10162'],\n",
       " ['V', '1017', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1036', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['V', '1052', '1'],\n",
       " ['V', '1031', '1'],\n",
       " ['V', '1003', '1'],\n",
       " ['C', '10163', '10163'],\n",
       " ['V', '1009', '1'],\n",
       " ['C', '10164', '10164'],\n",
       " ['V', '1045', '1'],\n",
       " ['C', '10165', '10165'],\n",
       " ['V', '1100', '1'],\n",
       " ['V', '1040', '1'],\n",
       " ['C', '10166', '10166'],\n",
       " ['V', '1000', '1'],\n",
       " ['V', '1008', '1'],\n",
       " ['V', '1027', '1'],\n",
       " ['V', '1009', '1'],\n",
       " ['V', '1024', '1'],\n",
       " ['V', '1041', '1'],\n",
       " ['V', '1101', '1'],\n",
       " ['V', '1072', '1'],\n",
       " ['C', '10167', '10167'],\n",
       " ...]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "all_list = []\n",
    "\n",
    "with open('./data/anonymous-msweb.data', 'r') as file:\n",
    "    for line in file:\n",
    "        line = line.replace('\"', '')\n",
    "        line = line.replace('\\n', '')\n",
    "        all_list.append(line.split(','))\n",
    "\n",
    "all_list"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 数据探索性分析"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "提取用户浏览记录，存储用户浏览的页面的id"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['1000',\n",
       " '1001',\n",
       " '1002',\n",
       " '1001',\n",
       " '1003',\n",
       " '1001',\n",
       " '1003',\n",
       " '1004',\n",
       " '1005',\n",
       " '1006',\n",
       " '1003',\n",
       " '1004',\n",
       " '1007',\n",
       " '1004',\n",
       " '1008',\n",
       " '1009',\n",
       " '1010',\n",
       " '1000',\n",
       " '1011',\n",
       " '1012',\n",
       " '1013',\n",
       " '1014',\n",
       " '1015',\n",
       " '1016',\n",
       " '1017',\n",
       " '1018',\n",
       " '1019',\n",
       " '1020',\n",
       " '1021',\n",
       " '1022',\n",
       " '1023',\n",
       " '1024',\n",
       " '1025',\n",
       " '1026',\n",
       " '1027',\n",
       " '1017',\n",
       " '1026',\n",
       " '1028',\n",
       " '1004',\n",
       " '1017',\n",
       " '1004',\n",
       " '1018',\n",
       " '1029',\n",
       " '1008',\n",
       " '1030',\n",
       " '1031',\n",
       " '1032',\n",
       " '1003',\n",
       " '1033',\n",
       " '1002',\n",
       " '1008',\n",
       " '1001',\n",
       " '1034',\n",
       " '1002',\n",
       " '1017',\n",
       " '1004',\n",
       " '1018',\n",
       " '1035',\n",
       " '1036',\n",
       " '1008',\n",
       " '1037',\n",
       " '1009',\n",
       " '1038',\n",
       " '1026',\n",
       " '1039',\n",
       " '1040',\n",
       " '1032',\n",
       " '1041',\n",
       " '1042',\n",
       " '1034',\n",
       " '1043',\n",
       " '1008',\n",
       " '1017',\n",
       " '1004',\n",
       " '1008',\n",
       " '1044',\n",
       " '1045',\n",
       " '1034',\n",
       " '1008',\n",
       " '1046',\n",
       " '1034',\n",
       " '1295',\n",
       " '1034',\n",
       " '1017',\n",
       " '1048',\n",
       " '1045',\n",
       " '1049',\n",
       " '1018',\n",
       " '1008',\n",
       " '1035',\n",
       " '1027',\n",
       " '1046',\n",
       " '1009',\n",
       " '1031',\n",
       " '1041',\n",
       " '1001',\n",
       " '1003',\n",
       " '1002',\n",
       " '1034',\n",
       " '1050',\n",
       " '1032',\n",
       " '1037',\n",
       " '1009',\n",
       " '1004',\n",
       " '1008',\n",
       " '1051',\n",
       " '1038',\n",
       " '1031',\n",
       " '1052',\n",
       " '1053',\n",
       " '1018',\n",
       " '1051',\n",
       " '1054',\n",
       " '1018',\n",
       " '1035',\n",
       " '1008',\n",
       " '1009',\n",
       " '1026',\n",
       " '1040',\n",
       " '1052',\n",
       " '1041',\n",
       " '1003',\n",
       " '1034',\n",
       " '1048',\n",
       " '1008',\n",
       " '1055',\n",
       " '1056',\n",
       " '1017',\n",
       " '1032',\n",
       " '1008',\n",
       " '1027',\n",
       " '1026',\n",
       " '1041',\n",
       " '1032',\n",
       " '1001',\n",
       " '1003',\n",
       " '1018',\n",
       " '1057',\n",
       " '1000',\n",
       " '1058',\n",
       " '1017',\n",
       " '1049',\n",
       " '1001',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1009',\n",
       " '1034',\n",
       " '1030',\n",
       " '1004',\n",
       " '1008',\n",
       " '1009',\n",
       " '1008',\n",
       " '1004',\n",
       " '1034',\n",
       " '1034',\n",
       " '1026',\n",
       " '1026',\n",
       " '1059',\n",
       " '1007',\n",
       " '1038',\n",
       " '1026',\n",
       " '1053',\n",
       " '1025',\n",
       " '1046',\n",
       " '1034',\n",
       " '1008',\n",
       " '1020',\n",
       " '1042',\n",
       " '1052',\n",
       " '1060',\n",
       " '1004',\n",
       " '1025',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1061',\n",
       " '1008',\n",
       " '1032',\n",
       " '1026',\n",
       " '1008',\n",
       " '1007',\n",
       " '1034',\n",
       " '1034',\n",
       " '1018',\n",
       " '1008',\n",
       " '1034',\n",
       " '1045',\n",
       " '1062',\n",
       " '1017',\n",
       " '1004',\n",
       " '1021',\n",
       " '1008',\n",
       " '1056',\n",
       " '1046',\n",
       " '1040',\n",
       " '1034',\n",
       " '1004',\n",
       " '1023',\n",
       " '1040',\n",
       " '1017',\n",
       " '1063',\n",
       " '1064',\n",
       " '1065',\n",
       " '1066',\n",
       " '1067',\n",
       " '1027',\n",
       " '1040',\n",
       " '1061',\n",
       " '1068',\n",
       " '1042',\n",
       " '1034',\n",
       " '1025',\n",
       " '1069',\n",
       " '1070',\n",
       " '1018',\n",
       " '1004',\n",
       " '1071',\n",
       " '1072',\n",
       " '1010',\n",
       " '1008',\n",
       " '1038',\n",
       " '1023',\n",
       " '1026',\n",
       " '1041',\n",
       " '1025',\n",
       " '1026',\n",
       " '1008',\n",
       " '1017',\n",
       " '1031',\n",
       " '1052',\n",
       " '1001',\n",
       " '1003',\n",
       " '1018',\n",
       " '1008',\n",
       " '1017',\n",
       " '1034',\n",
       " '1017',\n",
       " '1004',\n",
       " '1000',\n",
       " '1031',\n",
       " '1017',\n",
       " '1014',\n",
       " '1002',\n",
       " '1025',\n",
       " '1022',\n",
       " '1026',\n",
       " '1017',\n",
       " '1053',\n",
       " '1037',\n",
       " '1009',\n",
       " '1032',\n",
       " '1025',\n",
       " '1001',\n",
       " '1043',\n",
       " '1004',\n",
       " '1008',\n",
       " '1030',\n",
       " '1017',\n",
       " '1003',\n",
       " '1001',\n",
       " '1034',\n",
       " '1002',\n",
       " '1004',\n",
       " '1073',\n",
       " '1007',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1034',\n",
       " '1036',\n",
       " '1040',\n",
       " '1008',\n",
       " '1034',\n",
       " '1025',\n",
       " '1069',\n",
       " '1017',\n",
       " '1074',\n",
       " '1008',\n",
       " '1037',\n",
       " '1009',\n",
       " '1026',\n",
       " '1032',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1000',\n",
       " '1014',\n",
       " '1008',\n",
       " '1007',\n",
       " '1035',\n",
       " '1001',\n",
       " '1003',\n",
       " '1018',\n",
       " '1295',\n",
       " '1034',\n",
       " '1002',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1007',\n",
       " '1034',\n",
       " '1008',\n",
       " '1009',\n",
       " '1017',\n",
       " '1034',\n",
       " '1004',\n",
       " '1034',\n",
       " '1032',\n",
       " '1034',\n",
       " '1001',\n",
       " '1001',\n",
       " '1003',\n",
       " '1000',\n",
       " '1050',\n",
       " '1053',\n",
       " '1008',\n",
       " '1046',\n",
       " '1034',\n",
       " '1075',\n",
       " '1018',\n",
       " '1074',\n",
       " '1008',\n",
       " '1017',\n",
       " '1034',\n",
       " '1067',\n",
       " '1076',\n",
       " '1017',\n",
       " '1004',\n",
       " '1034',\n",
       " '1064',\n",
       " '1026',\n",
       " '1077',\n",
       " '1022',\n",
       " '1040',\n",
       " '1001',\n",
       " '1018',\n",
       " '1053',\n",
       " '1042',\n",
       " '1004',\n",
       " '1067',\n",
       " '1004',\n",
       " '1008',\n",
       " '1034',\n",
       " '1034',\n",
       " '1034',\n",
       " '1008',\n",
       " '1009',\n",
       " '1017',\n",
       " '1001',\n",
       " '1003',\n",
       " '1024',\n",
       " '1034',\n",
       " '1018',\n",
       " '1020',\n",
       " '1070',\n",
       " '1042',\n",
       " '1025',\n",
       " '1034',\n",
       " '1035',\n",
       " '1009',\n",
       " '1001',\n",
       " '1002',\n",
       " '1018',\n",
       " '1072',\n",
       " '1001',\n",
       " '1003',\n",
       " '1004',\n",
       " '1078',\n",
       " '1079',\n",
       " '1008',\n",
       " '1004',\n",
       " '1040',\n",
       " '1008',\n",
       " '1009',\n",
       " '1080',\n",
       " '1081',\n",
       " '1082',\n",
       " '1040',\n",
       " '1001',\n",
       " '1018',\n",
       " '1083',\n",
       " '1034',\n",
       " '1058',\n",
       " '1001',\n",
       " '1004',\n",
       " '1007',\n",
       " '1018',\n",
       " '1084',\n",
       " '1085',\n",
       " '1086',\n",
       " '1087',\n",
       " '1054',\n",
       " '1036',\n",
       " '1077',\n",
       " '1040',\n",
       " '1003',\n",
       " '1088',\n",
       " '1017',\n",
       " '1018',\n",
       " '1014',\n",
       " '1000',\n",
       " '1089',\n",
       " '1001',\n",
       " '1017',\n",
       " '1018',\n",
       " '1035',\n",
       " '1037',\n",
       " '1090',\n",
       " '1009',\n",
       " '1001',\n",
       " '1032',\n",
       " '1010',\n",
       " '1025',\n",
       " '1020',\n",
       " '1026',\n",
       " '1041',\n",
       " '1004',\n",
       " '1004',\n",
       " '1038',\n",
       " '1041',\n",
       " '1008',\n",
       " '1045',\n",
       " '1034',\n",
       " '1010',\n",
       " '1017',\n",
       " '1059',\n",
       " '1008',\n",
       " '1017',\n",
       " '1034',\n",
       " '1000',\n",
       " '1025',\n",
       " '1022',\n",
       " '1046',\n",
       " '1040',\n",
       " '1039',\n",
       " '1026',\n",
       " '1049',\n",
       " '1034',\n",
       " '1002',\n",
       " '1018',\n",
       " '1091',\n",
       " '1039',\n",
       " '1008',\n",
       " '1038',\n",
       " '1060',\n",
       " '1026',\n",
       " '1034',\n",
       " '1035',\n",
       " '1003',\n",
       " '1018',\n",
       " '1004',\n",
       " '1008',\n",
       " '1008',\n",
       " '1025',\n",
       " '1026',\n",
       " '1063',\n",
       " '1041',\n",
       " '1034',\n",
       " '1030',\n",
       " '1078',\n",
       " '1018',\n",
       " '1025',\n",
       " '1007',\n",
       " '1017',\n",
       " '1092',\n",
       " '1017',\n",
       " '1024',\n",
       " '1035',\n",
       " '1020',\n",
       " '1003',\n",
       " '1001',\n",
       " '1078',\n",
       " '1018',\n",
       " '1034',\n",
       " '1004',\n",
       " '1036',\n",
       " '1000',\n",
       " '1040',\n",
       " '1014',\n",
       " '1008',\n",
       " '1017',\n",
       " '1018',\n",
       " '1021',\n",
       " '1019',\n",
       " '1057',\n",
       " '1010',\n",
       " '1093',\n",
       " '1094',\n",
       " '1011',\n",
       " '1095',\n",
       " '1026',\n",
       " '1068',\n",
       " '1041',\n",
       " '1032',\n",
       " '1096',\n",
       " '1042',\n",
       " '1097',\n",
       " '1008',\n",
       " '1098',\n",
       " '1046',\n",
       " '1099',\n",
       " '1054',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1007',\n",
       " '1017',\n",
       " '1008',\n",
       " '1000',\n",
       " '1036',\n",
       " '1040',\n",
       " '1052',\n",
       " '1031',\n",
       " '1003',\n",
       " '1009',\n",
       " '1045',\n",
       " '1100',\n",
       " '1040',\n",
       " '1000',\n",
       " '1008',\n",
       " '1027',\n",
       " '1009',\n",
       " '1024',\n",
       " '1041',\n",
       " '1101',\n",
       " '1072',\n",
       " '1017',\n",
       " '1071',\n",
       " '1102',\n",
       " '1103',\n",
       " '1001',\n",
       " '1008',\n",
       " '1009',\n",
       " '1030',\n",
       " '1017',\n",
       " '1061',\n",
       " '1004',\n",
       " '1025',\n",
       " '1026',\n",
       " '1034',\n",
       " '1008',\n",
       " '1020',\n",
       " '1001',\n",
       " '1003',\n",
       " '1018',\n",
       " '1004',\n",
       " '1008',\n",
       " '1016',\n",
       " '1011',\n",
       " '1040',\n",
       " '1079',\n",
       " '1018',\n",
       " '1038',\n",
       " '1009',\n",
       " '1026',\n",
       " '1041',\n",
       " '1034',\n",
       " '1082',\n",
       " '1062',\n",
       " '1083',\n",
       " '1030',\n",
       " '1017',\n",
       " '1004',\n",
       " '1079',\n",
       " '1008',\n",
       " '1035',\n",
       " '1003',\n",
       " '1018',\n",
       " '1008',\n",
       " '1007',\n",
       " '1018',\n",
       " '1035',\n",
       " '1030',\n",
       " '1037',\n",
       " '1055',\n",
       " '1009',\n",
       " '1017',\n",
       " '1004',\n",
       " '1077',\n",
       " '1017',\n",
       " '1031',\n",
       " '1040',\n",
       " '1001',\n",
       " '1003',\n",
       " '1017',\n",
       " '1096',\n",
       " '1038',\n",
       " '1053',\n",
       " '1004',\n",
       " '1035',\n",
       " '1008',\n",
       " '1076',\n",
       " '1017',\n",
       " '1003',\n",
       " '1018',\n",
       " '1034',\n",
       " '1104',\n",
       " '1004',\n",
       " '1025',\n",
       " '1026',\n",
       " '1008',\n",
       " '1069',\n",
       " '1008',\n",
       " '1017',\n",
       " '1034',\n",
       " '1003',\n",
       " '1034',\n",
       " '1004',\n",
       " '1071',\n",
       " '1017',\n",
       " '1004',\n",
       " '1036',\n",
       " '1008',\n",
       " '1037',\n",
       " '1009',\n",
       " '1052',\n",
       " '1032',\n",
       " '1008',\n",
       " '1011',\n",
       " '1040',\n",
       " '1017',\n",
       " '1061',\n",
       " '1014',\n",
       " '1004',\n",
       " '1021',\n",
       " '1105',\n",
       " '1008',\n",
       " '1106',\n",
       " '1107',\n",
       " '1009',\n",
       " '1003',\n",
       " '1018',\n",
       " '1035',\n",
       " '1008',\n",
       " '1009',\n",
       " '1018',\n",
       " '1034',\n",
       " '1025',\n",
       " '1007',\n",
       " '1026',\n",
       " '1041',\n",
       " '1000',\n",
       " '1026',\n",
       " '1017',\n",
       " '1034',\n",
       " '1104',\n",
       " '1295',\n",
       " '1100',\n",
       " '1004',\n",
       " '1108',\n",
       " '1295',\n",
       " '1054',\n",
       " '1109',\n",
       " '1100',\n",
       " '1017',\n",
       " '1088',\n",
       " '1004',\n",
       " '1008',\n",
       " '1106',\n",
       " '1009',\n",
       " '1004',\n",
       " '1008',\n",
       " '1034',\n",
       " '1044',\n",
       " '1074',\n",
       " '1110',\n",
       " '1295',\n",
       " '1009',\n",
       " '1031',\n",
       " '1032',\n",
       " '1034',\n",
       " '1111',\n",
       " '1017',\n",
       " '1092',\n",
       " '1018',\n",
       " '1004',\n",
       " '1021',\n",
       " '1008',\n",
       " '1010',\n",
       " '1112',\n",
       " '1053',\n",
       " '1002',\n",
       " '1034',\n",
       " '1008',\n",
       " '1009',\n",
       " '1039',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1092',\n",
       " '1004',\n",
       " '1018',\n",
       " '1113',\n",
       " '1026',\n",
       " '1041',\n",
       " '1034',\n",
       " '1017',\n",
       " '1076',\n",
       " '1114',\n",
       " '1018',\n",
       " '1074',\n",
       " '1008',\n",
       " '1115',\n",
       " '1001',\n",
       " '1003',\n",
       " '1030',\n",
       " '1009',\n",
       " '1017',\n",
       " '1074',\n",
       " '1017',\n",
       " '1004',\n",
       " '1014',\n",
       " '1000',\n",
       " '1008',\n",
       " '1052',\n",
       " '1040',\n",
       " '1031',\n",
       " '1001',\n",
       " '1008',\n",
       " '1027',\n",
       " '1009',\n",
       " '1026',\n",
       " '1018',\n",
       " '1034',\n",
       " '1000',\n",
       " '1032',\n",
       " '1008',\n",
       " '1040',\n",
       " '1004',\n",
       " '1045',\n",
       " '1046',\n",
       " '1049',\n",
       " '1041',\n",
       " '1003',\n",
       " '1018',\n",
       " '1116',\n",
       " '1020',\n",
       " '1109',\n",
       " '1017',\n",
       " '1008',\n",
       " '1066',\n",
       " '1017',\n",
       " '1004',\n",
       " '1117',\n",
       " '1034',\n",
       " '1009',\n",
       " '1080',\n",
       " '1071',\n",
       " '1008',\n",
       " '1032',\n",
       " '1001',\n",
       " '1003',\n",
       " '1004',\n",
       " '1018',\n",
       " '1073',\n",
       " '1034',\n",
       " '1018',\n",
       " '1118',\n",
       " '1113',\n",
       " '1020',\n",
       " '1003',\n",
       " '1034',\n",
       " '1004',\n",
       " '1001',\n",
       " '1003',\n",
       " '1013',\n",
       " '1018',\n",
       " '1030',\n",
       " '1017',\n",
       " '1017',\n",
       " '1004',\n",
       " '1119',\n",
       " '1088',\n",
       " '1014',\n",
       " '1120',\n",
       " '1017',\n",
       " '1008',\n",
       " '1112',\n",
       " '1031',\n",
       " '1121',\n",
       " '1060',\n",
       " '1032',\n",
       " '1002',\n",
       " '1004',\n",
       " '1002',\n",
       " '1122',\n",
       " '1009',\n",
       " '1004',\n",
       " '1008',\n",
       " '1058',\n",
       " '1076',\n",
       " '1003',\n",
       " '1001',\n",
       " '1078',\n",
       " '1018',\n",
       " '1034',\n",
       " '1003',\n",
       " '1004',\n",
       " '1040',\n",
       " '1008',\n",
       " '1001',\n",
       " '1004',\n",
       " '1025',\n",
       " '1004',\n",
       " '1034',\n",
       " '1008',\n",
       " '1034',\n",
       " '1018',\n",
       " '1008',\n",
       " '1034',\n",
       " '1008',\n",
       " '1027',\n",
       " '1038',\n",
       " '1026',\n",
       " '1017',\n",
       " '1003',\n",
       " '1041',\n",
       " '1068',\n",
       " '1024',\n",
       " '1078',\n",
       " '1034',\n",
       " '1004',\n",
       " '1034',\n",
       " '1123',\n",
       " '1058',\n",
       " '1116',\n",
       " '1035',\n",
       " '1001',\n",
       " '1003',\n",
       " '1018',\n",
       " '1025',\n",
       " '1026',\n",
       " '1041',\n",
       " '1034',\n",
       " '1004',\n",
       " '1001',\n",
       " '1004',\n",
       " '1008',\n",
       " '1009',\n",
       " '1018',\n",
       " '1004',\n",
       " '1008',\n",
       " '1027',\n",
       " '1070',\n",
       " '1041',\n",
       " '1004',\n",
       " '1008',\n",
       " '1124',\n",
       " '1026',\n",
       " '1042',\n",
       " '1010',\n",
       " '1008',\n",
       " '1056',\n",
       " '1032',\n",
       " '1123',\n",
       " '1008',\n",
       " '1034',\n",
       " '1025',\n",
       " '1070',\n",
       " '1017',\n",
       " '1067',\n",
       " '1125',\n",
       " '1038',\n",
       " '1026',\n",
       " '1041',\n",
       " '1008',\n",
       " '1034',\n",
       " '1084',\n",
       " '1295',\n",
       " '1017',\n",
       " '1004',\n",
       " '1008',\n",
       " '1037',\n",
       " '1126',\n",
       " '1055',\n",
       " '1009',\n",
       " '1061',\n",
       " '1032',\n",
       " '1034',\n",
       " '1008',\n",
       " '1009',\n",
       " '1034',\n",
       " '1001',\n",
       " '1053',\n",
       " '1008',\n",
       " '1034',\n",
       " '1018',\n",
       " '1029',\n",
       " '1048',\n",
       " '1018',\n",
       " '1032',\n",
       " '1004',\n",
       " '1008',\n",
       " '1004',\n",
       " '1035',\n",
       " '1037',\n",
       " '1009',\n",
       " '1001',\n",
       " '1003',\n",
       " '1004',\n",
       " '1018',\n",
       " '1008',\n",
       " '1018',\n",
       " '1034',\n",
       " '1018',\n",
       " '1008',\n",
       " '1035',\n",
       " '1080',\n",
       " '1003',\n",
       " '1001',\n",
       " '1018',\n",
       " '1025',\n",
       " '1026',\n",
       " '1118',\n",
       " '1025',\n",
       " '1127',\n",
       " '1070',\n",
       " '1114',\n",
       " '1128',\n",
       " '1004',\n",
       " '1025',\n",
       " '1008',\n",
       " '1007',\n",
       " '1034',\n",
       " '1004',\n",
       " '1065',\n",
       " '1054',\n",
       " '1129',\n",
       " '1024',\n",
       " '1072',\n",
       " '1008',\n",
       " '1038',\n",
       " '1026',\n",
       " '1034',\n",
       " '1042',\n",
       " '1053',\n",
       " '1058',\n",
       " '1001',\n",
       " '1080',\n",
       " '1004',\n",
       " '1008',\n",
       " '1025',\n",
       " '1070',\n",
       " '1041',\n",
       " '1008',\n",
       " '1032',\n",
       " '1034',\n",
       " '1029',\n",
       " '1059',\n",
       " '1048',\n",
       " '1008',\n",
       " '1034',\n",
       " '1025',\n",
       " '1026',\n",
       " '1064',\n",
       " '1028',\n",
       " '1008',\n",
       " '1045',\n",
       " '1034',\n",
       " '1003',\n",
       " '1004',\n",
       " '1008',\n",
       " '1009',\n",
       " '1040',\n",
       " '1052',\n",
       " '1041',\n",
       " '1018',\n",
       " '1008',\n",
       " '1009',\n",
       " '1001',\n",
       " '1008',\n",
       " '1017',\n",
       " '1032',\n",
       " '1024',\n",
       " '1004',\n",
       " '1018',\n",
       " '1034',\n",
       " '1043',\n",
       " '1008',\n",
       " '1118',\n",
       " '1027',\n",
       " '1070',\n",
       " '1041',\n",
       " '1025',\n",
       " '1026',\n",
       " '1130',\n",
       " '1017',\n",
       " '1018',\n",
       " '1035',\n",
       " '1037',\n",
       " '1009',\n",
       " '1001',\n",
       " '1003',\n",
       " ...]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pages = []\n",
    "\n",
    "for item in all_list:\n",
    "    if item[0] == 'V':\n",
    "        pages.append(item[1])\n",
    "\n",
    "pages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>title_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98649</th>\n",
       "      <td>1003</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98650</th>\n",
       "      <td>1035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98651</th>\n",
       "      <td>1001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98652</th>\n",
       "      <td>1018</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>98653</th>\n",
       "      <td>1008</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>98654 rows × 1 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      title_id\n",
       "0         1000\n",
       "1         1001\n",
       "2         1002\n",
       "3         1001\n",
       "4         1003\n",
       "...        ...\n",
       "98649     1003\n",
       "98650     1035\n",
       "98651     1001\n",
       "98652     1018\n",
       "98653     1008\n",
       "\n",
       "[98654 rows x 1 columns]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "page_df = pd.DataFrame(pages, columns=['title_id'])\n",
    "page_df"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "计算每个页面的访问数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1008    10836\n",
       "1034     9383\n",
       "1004     8463\n",
       "1018     5330\n",
       "1017     5108\n",
       "        ...  \n",
       "1196        1\n",
       "1199        1\n",
       "1233        1\n",
       "1128        1\n",
       "1284        1\n",
       "Name: title_id, Length: 285, dtype: int64"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "title_ids = page_df['title_id'].value_counts()\n",
    "title_ids"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据页面id获取页面名称"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Free Downloads',\n",
       " 'Internet Explorer',\n",
       " 'Microsoft.com Search',\n",
       " 'isapi',\n",
       " 'Products ',\n",
       " 'Windows Family of OSs',\n",
       " 'Support Desktop',\n",
       " 'Internet Site Construction for Developers',\n",
       " 'Knowledge Base',\n",
       " \"Web Site Builder's Gallery\",\n",
       " 'Windows95 Support',\n",
       " 'MS Office Info',\n",
       " 'Developer Workshop',\n",
       " 'Games',\n",
       " 'Windows 95',\n",
       " 'Windows NT Server',\n",
       " 'SiteBuilder Network Membership',\n",
       " 'Developer Network',\n",
       " 'regwiz',\n",
       " 'International IE content',\n",
       " 'MS Word News',\n",
       " 'Corporate Desktop Evaluation',\n",
       " 'End User Produced View',\n",
       " 'Office Free Stuff',\n",
       " 'Training',\n",
       " 'Visual Basic',\n",
       " 'SP Referral (ART)',\n",
       " 'Jakarta',\n",
       " 'IE Support',\n",
       " 'ActiveX Technology Development',\n",
       " 'Windows NT Workstation',\n",
       " 'MS Office',\n",
       " 'FrontPage',\n",
       " 'Internet Information Server',\n",
       " 'Internet Development',\n",
       " 'NetMeeting',\n",
       " 'NT Server Support',\n",
       " 'NT Workstation Support',\n",
       " 'Job Openings',\n",
       " 'IT Technical Information',\n",
       " 'MS Word',\n",
       " 'Visual C',\n",
       " 'Germany',\n",
       " 'Corporation Information',\n",
       " 'Internet Service Providers',\n",
       " 'Support Network Program Information',\n",
       " 'Exchange',\n",
       " 'Typography Site',\n",
       " 'MS Site Builder Workshop',\n",
       " 'Java Strategy and Info',\n",
       " 'MS in Education',\n",
       " 'MS Excel',\n",
       " 'Visual Studio',\n",
       " 'sports',\n",
       " 'promo',\n",
       " 'MSHome Kids Stuff',\n",
       " 'Sweden',\n",
       " 'MS Access',\n",
       " 'OutLook',\n",
       " 'Windows CE',\n",
       " 'Connecting Small Business',\n",
       " 'Industry Marketing Information (Vertical)',\n",
       " 'Access Development',\n",
       " 'Microsoft Press',\n",
       " 'MS Publisher',\n",
       " 'Taiwan',\n",
       " 'ImageComposer',\n",
       " 'VBScript Development',\n",
       " 'MS PowerPoint News',\n",
       " 'Spain',\n",
       " 'MS Proxy Server',\n",
       " 'N. American Automap',\n",
       " 'UK',\n",
       " 'France',\n",
       " 'WorldWide Offices - US Districts',\n",
       " 'Internet Security Framework',\n",
       " 'MS Office Development',\n",
       " 'SQL Server',\n",
       " 'Developer Media Development',\n",
       " 'Italy',\n",
       " 'BackOffice',\n",
       " 'Office Reference',\n",
       " 'MS Office Support',\n",
       " 'MS Money Information',\n",
       " 'MS Access News',\n",
       " 'Australia',\n",
       " 'misc',\n",
       " 'Clip Gallery Live',\n",
       " 'NetShow',\n",
       " 'Canada',\n",
       " 'Visual InterDev',\n",
       " 'Windows 32 bit developer',\n",
       " 'About Microsoft ',\n",
       " 'Brazil',\n",
       " 'Executive Computing',\n",
       " 'Netherlands (Holland)',\n",
       " 'Microsoft Home Essentials',\n",
       " 'MS Word Support',\n",
       " 'Intranet Strategy',\n",
       " 'MS PowerPoint',\n",
       " 'Games Support',\n",
       " 'Macintosh Office',\n",
       " 'MS Access Support',\n",
       " 'Product Catalog',\n",
       " 'For Developers Only',\n",
       " 'Visual FoxPro',\n",
       " 'Channel Resources',\n",
       " 'Korea',\n",
       " 'Internet Information Server News',\n",
       " 'Sales Information (infobase)',\n",
       " 'OLE Development',\n",
       " 'Interactive Media Technologies',\n",
       " 'Microsoft Financial Forum',\n",
       " 'Exchange Support',\n",
       " 'MS Schedule+ News',\n",
       " 'Music Producer',\n",
       " 'Microsoft Solution Providers',\n",
       " 'Excel',\n",
       " 'Powered by BackOffice',\n",
       " 'Windows Hardware Testing',\n",
       " 'FrontPage Support',\n",
       " 'Windows Hardware Development',\n",
       " 'MS Project',\n",
       " 'VBA Development',\n",
       " 'Microsoft Magazine',\n",
       " 'Java Script Development',\n",
       " 'Visual Basic Support',\n",
       " 'Site Builder Workshop',\n",
       " 'TechNet (World Wide Web Edition)',\n",
       " 'MS Excel Support',\n",
       " 'Latin America Region',\n",
       " 'Denmark',\n",
       " 'Russia',\n",
       " 'Sidewalk',\n",
       " 'Internet News',\n",
       " 'Systems Management Server',\n",
       " 'IIS Support',\n",
       " 'Repository',\n",
       " 'Service Advantage',\n",
       " 'MS TeamManager',\n",
       " 'MS Merchant',\n",
       " 'Job Listings for Pre-Grads',\n",
       " 'Mastering Series',\n",
       " 'Belgium',\n",
       " 'For Developers Only Info',\n",
       " 'MS Project',\n",
       " 'Outlook Development',\n",
       " 'Master Marketing Calendar',\n",
       " 'Norway',\n",
       " 'Transaction Server',\n",
       " 'Poland',\n",
       " 'MS Hardware',\n",
       " 'ODBC Development',\n",
       " 'Visual C Support',\n",
       " 'Europe',\n",
       " 'MS Works',\n",
       " 'For Developers Only News',\n",
       " 'Visual Source Safe',\n",
       " 'Hong Kong',\n",
       " 'Israel',\n",
       " 'Mexico',\n",
       " 'Developer Magazine',\n",
       " 'SQL Support',\n",
       " 'Argentina',\n",
       " 'Switzerland',\n",
       " 'Virtual Reality Markup Language',\n",
       " 'MS Schedule+',\n",
       " 'Finland',\n",
       " 'Volume Purchasing Options',\n",
       " 'Media Manager',\n",
       " 'MS Store Logo Merchandise',\n",
       " 'China',\n",
       " 'World Wide Offices',\n",
       " 'Open Type',\n",
       " 'Office Developer Support',\n",
       " 'SNA Server',\n",
       " 'Hardware Supprt',\n",
       " 'MS Money Support',\n",
       " 'Mac Office Support',\n",
       " 'OEM',\n",
       " 'MS PowerPoint Support',\n",
       " 'Mail Support',\n",
       " 'Visual Fox Pro Support',\n",
       " 'Windows NT Developer Support',\n",
       " 'South Africa',\n",
       " 'MS in K-12 Education',\n",
       " 'MS Publisher Support',\n",
       " 'Benelux Region',\n",
       " 'Picture It',\n",
       " 'SMSMGT Support',\n",
       " 'Works Support',\n",
       " 'Authorized Technical Education Center Program',\n",
       " 'Microsoft Mail',\n",
       " 'Czech Republic',\n",
       " 'Portugal',\n",
       " 'Hungary',\n",
       " 'Microsoft Home',\n",
       " 'MS Schedule+ Support',\n",
       " 'Microsoft OLE DB',\n",
       " 'Microsoft User Group Program',\n",
       " 'Ireland',\n",
       " 'Middle East',\n",
       " 'Visual Test',\n",
       " 'Kids Support',\n",
       " 'Internet Control Pack ',\n",
       " 'Advanced Data Connector',\n",
       " 'MS Office News',\n",
       " 'Slovakia',\n",
       " 'Thailand',\n",
       " 'Reference Support',\n",
       " 'Colombia',\n",
       " 'Developing for Global Markets',\n",
       " 'New Zealand',\n",
       " 'Developer Media Games',\n",
       " 'Microsoft TV Program Information',\n",
       " 'Turkey',\n",
       " 'India',\n",
       " 'Sidewinder',\n",
       " 'Slovenija',\n",
       " 'MS Training Evaluation',\n",
       " 'Venezuela',\n",
       " 'Office Free Stuff News',\n",
       " 'Anti Piracy Information',\n",
       " 'Fortran',\n",
       " 'Visual J++ Support',\n",
       " 'ActiveX Data Objects',\n",
       " 'MS Project Support',\n",
       " 'Professional Developers Series',\n",
       " 'SNA Support',\n",
       " 'MS Word Development',\n",
       " 'Caribbean',\n",
       " 'Corporate Advertising Content',\n",
       " 'Developer Newswire',\n",
       " 'MS Usability Group',\n",
       " 'MS Garden',\n",
       " 'Excel Development',\n",
       " 'Management',\n",
       " 'Advanced Technology',\n",
       " 'SiteBuilder Network Specs & Standards',\n",
       " 'Uruguay',\n",
       " 'Chile',\n",
       " 'MS Partner Web',\n",
       " 'Solutions in Action',\n",
       " 'Message Queue Server',\n",
       " 'Visual Test Support',\n",
       " 'Community Affairs',\n",
       " 'Peru',\n",
       " 'Source Safe Support',\n",
       " 'Wine Guide',\n",
       " 'MS Financial Services',\n",
       " 'Microsoft OnLine Institute',\n",
       " 'Corporate Customers',\n",
       " 'Microsoft Consulting',\n",
       " 'Developer Days',\n",
       " 'MS Interactive Music Control',\n",
       " 'home',\n",
       " 'Educational Services & Programs',\n",
       " \"MS's Complete Do It Yourself Guide\",\n",
       " 'Open Financial Connectivity',\n",
       " 'Customer Guides',\n",
       " 'Fortran Support',\n",
       " 'MS in Higer Education',\n",
       " 'Licenses and Piracy',\n",
       " 'msdownload.',\n",
       " 'Professional Developer Conference',\n",
       " 'security.',\n",
       " 'Multimedia Golf',\n",
       " 'NetShow for PowerPoint',\n",
       " 'softlib',\n",
       " 'IntelliMouse',\n",
       " 'Cinemainia',\n",
       " 'mdn',\n",
       " 'ie3',\n",
       " 'mdsn',\n",
       " 'developr',\n",
       " 'javascript',\n",
       " 'Exchange Trial',\n",
       " 'controls',\n",
       " 'Switching from Competitive Products',\n",
       " 'Softimage ',\n",
       " 'ie40',\n",
       " 'feedback',\n",
       " 'vbscripts',\n",
       " 'MS Solutions Framework',\n",
       " 'partner']"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "title_name = []\n",
    "for i in title_ids.index:\n",
    "    for a in all_list:\n",
    "        if a[0] == 'A' and a[1] == i:\n",
    "            title_name.append(a[3])\n",
    "            break\n",
    "\n",
    "title_name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[10836,\n",
       " 9383,\n",
       " 8463,\n",
       " 5330,\n",
       " 5108,\n",
       " 4628,\n",
       " 4451,\n",
       " 3220,\n",
       " 2968,\n",
       " 2123,\n",
       " 1791,\n",
       " 1506,\n",
       " 1500,\n",
       " 1446,\n",
       " 1160,\n",
       " 1115,\n",
       " 1110,\n",
       " 1087,\n",
       " 912,\n",
       " 865,\n",
       " 842,\n",
       " 759,\n",
       " 749,\n",
       " 728,\n",
       " 716,\n",
       " 698,\n",
       " 672,\n",
       " 670,\n",
       " 636,\n",
       " 602,\n",
       " 584,\n",
       " 574,\n",
       " 548,\n",
       " 521,\n",
       " 507,\n",
       " 474,\n",
       " 462,\n",
       " 444,\n",
       " 396,\n",
       " 395,\n",
       " 391,\n",
       " 380,\n",
       " 372,\n",
       " 365,\n",
       " 345,\n",
       " 343,\n",
       " 338,\n",
       " 325,\n",
       " 324,\n",
       " 323,\n",
       " 291,\n",
       " 287,\n",
       " 281,\n",
       " 276,\n",
       " 269,\n",
       " 264,\n",
       " 258,\n",
       " 241,\n",
       " 237,\n",
       " 227,\n",
       " 224,\n",
       " 222,\n",
       " 215,\n",
       " 214,\n",
       " 210,\n",
       " 204,\n",
       " 199,\n",
       " 198,\n",
       " 195,\n",
       " 191,\n",
       " 189,\n",
       " 187,\n",
       " 186,\n",
       " 183,\n",
       " 181,\n",
       " 181,\n",
       " 179,\n",
       " 172,\n",
       " 168,\n",
       " 167,\n",
       " 162,\n",
       " 157,\n",
       " 155,\n",
       " 148,\n",
       " 141,\n",
       " 136,\n",
       " 135,\n",
       " 132,\n",
       " 132,\n",
       " 128,\n",
       " 128,\n",
       " 124,\n",
       " 123,\n",
       " 121,\n",
       " 120,\n",
       " 118,\n",
       " 118,\n",
       " 115,\n",
       " 113,\n",
       " 111,\n",
       " 107,\n",
       " 106,\n",
       " 105,\n",
       " 102,\n",
       " 98,\n",
       " 97,\n",
       " 96,\n",
       " 94,\n",
       " 93,\n",
       " 93,\n",
       " 93,\n",
       " 90,\n",
       " 86,\n",
       " 86,\n",
       " 86,\n",
       " 82,\n",
       " 79,\n",
       " 79,\n",
       " 75,\n",
       " 72,\n",
       " 69,\n",
       " 69,\n",
       " 67,\n",
       " 65,\n",
       " 63,\n",
       " 63,\n",
       " 61,\n",
       " 60,\n",
       " 59,\n",
       " 57,\n",
       " 56,\n",
       " 55,\n",
       " 52,\n",
       " 52,\n",
       " 51,\n",
       " 49,\n",
       " 48,\n",
       " 48,\n",
       " 48,\n",
       " 47,\n",
       " 47,\n",
       " 46,\n",
       " 46,\n",
       " 45,\n",
       " 45,\n",
       " 44,\n",
       " 44,\n",
       " 43,\n",
       " 42,\n",
       " 41,\n",
       " 38,\n",
       " 38,\n",
       " 38,\n",
       " 36,\n",
       " 36,\n",
       " 36,\n",
       " 36,\n",
       " 36,\n",
       " 35,\n",
       " 34,\n",
       " 33,\n",
       " 33,\n",
       " 32,\n",
       " 32,\n",
       " 31,\n",
       " 30,\n",
       " 30,\n",
       " 29,\n",
       " 29,\n",
       " 27,\n",
       " 26,\n",
       " 26,\n",
       " 25,\n",
       " 25,\n",
       " 25,\n",
       " 24,\n",
       " 24,\n",
       " 23,\n",
       " 23,\n",
       " 22,\n",
       " 21,\n",
       " 21,\n",
       " 20,\n",
       " 19,\n",
       " 19,\n",
       " 18,\n",
       " 18,\n",
       " 18,\n",
       " 18,\n",
       " 16,\n",
       " 16,\n",
       " 16,\n",
       " 16,\n",
       " 16,\n",
       " 15,\n",
       " 15,\n",
       " 14,\n",
       " 14,\n",
       " 14,\n",
       " 13,\n",
       " 13,\n",
       " 13,\n",
       " 13,\n",
       " 12,\n",
       " 12,\n",
       " 12,\n",
       " 11,\n",
       " 11,\n",
       " 11,\n",
       " 11,\n",
       " 11,\n",
       " 10,\n",
       " 10,\n",
       " 10,\n",
       " 10,\n",
       " 9,\n",
       " 9,\n",
       " 9,\n",
       " 9,\n",
       " 9,\n",
       " 8,\n",
       " 8,\n",
       " 7,\n",
       " 7,\n",
       " 7,\n",
       " 7,\n",
       " 6,\n",
       " 5,\n",
       " 5,\n",
       " 5,\n",
       " 5,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 4,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 3,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 2,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1,\n",
       " 1]"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "title_num = []\n",
    "for v in title_ids:\n",
    "    title_num.append(v)\n",
    "\n",
    "title_num"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "展示每个页面的访问数量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Free Downloads            10836\n",
       "Internet Explorer          9383\n",
       "Microsoft.com Search       8463\n",
       "isapi                      5330\n",
       "Products                   5108\n",
       "                          ...  \n",
       "ie40                          1\n",
       "feedback                      1\n",
       "vbscripts                     1\n",
       "MS Solutions Framework        1\n",
       "partner                       1\n",
       "Length: 285, dtype: int64"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "title = pd.Series(title_num, index=title_name)\n",
    "title"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "展示访问量最多的前10个页面的访问量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "title_top10 = title.head(10)\n",
    "title_top10.plot(kind='bar')\n",
    "plt.show()"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "上图中，纵轴代表访问数量，横轴代表页面名称\n",
    "将访问量最多的几个页面链接放在网站醒目位置，可以提升用户体验。"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 关联规则挖掘"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据准备，所有用户访问的页面id存储在votes中。\n",
    "votes中每个列表代表一个用户访问的页面。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "votes = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = []\n",
    "for i in range(len(all_list)):\n",
    "    if all_list[i][0] == 'V':\n",
    "        tmp.append(all_list[i][1])\n",
    "    elif tmp != []:\n",
    "        votes.append(tmp)\n",
    "        tmp = []"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[['1000', '1001', '1002'],\n",
       " ['1001', '1003'],\n",
       " ['1001', '1003', '1004'],\n",
       " ['1005'],\n",
       " ['1006'],\n",
       " ['1003', '1004'],\n",
       " ['1007'],\n",
       " ['1004'],\n",
       " ['1008', '1009'],\n",
       " ['1010', '1000', '1011', '1012', '1013', '1014'],\n",
       " ['1015', '1016', '1017', '1018', '1019'],\n",
       " ['1020', '1021'],\n",
       " ['1022'],\n",
       " ['1023'],\n",
       " ['1024'],\n",
       " ['1025', '1026'],\n",
       " ['1027', '1017', '1026', '1028'],\n",
       " ['1004'],\n",
       " ['1017',\n",
       "  '1004',\n",
       "  '1018',\n",
       "  '1029',\n",
       "  '1008',\n",
       "  '1030',\n",
       "  '1031',\n",
       "  '1032',\n",
       "  '1003',\n",
       "  '1033',\n",
       "  '1002'],\n",
       " ['1008', '1001', '1034', '1002'],\n",
       " ['1017',\n",
       "  '1004',\n",
       "  '1018',\n",
       "  '1035',\n",
       "  '1036',\n",
       "  '1008',\n",
       "  '1037',\n",
       "  '1009',\n",
       "  '1038',\n",
       "  '1026',\n",
       "  '1039',\n",
       "  '1040',\n",
       "  '1032',\n",
       "  '1041',\n",
       "  '1042',\n",
       "  '1034',\n",
       "  '1043'],\n",
       " ['1008', '1017', '1004'],\n",
       " ['1008'],\n",
       " ['1044'],\n",
       " ['1045'],\n",
       " ['1034'],\n",
       " ['1008', '1046', '1034'],\n",
       " ['1295'],\n",
       " ['1034'],\n",
       " ['1017', '1048'],\n",
       " ['1045',\n",
       "  '1049',\n",
       "  '1018',\n",
       "  '1008',\n",
       "  '1035',\n",
       "  '1027',\n",
       "  '1046',\n",
       "  '1009',\n",
       "  '1031',\n",
       "  '1041',\n",
       "  '1001',\n",
       "  '1003',\n",
       "  '1002',\n",
       "  '1034'],\n",
       " ['1050'],\n",
       " ['1032'],\n",
       " ['1037', '1009', '1004'],\n",
       " ['1008', '1051', '1038', '1031', '1052', '1053', '1018'],\n",
       " ['1051',\n",
       "  '1054',\n",
       "  '1018',\n",
       "  '1035',\n",
       "  '1008',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1040',\n",
       "  '1052',\n",
       "  '1041',\n",
       "  '1003',\n",
       "  '1034',\n",
       "  '1048'],\n",
       " ['1008', '1055', '1056', '1017', '1032'],\n",
       " ['1008', '1027', '1026', '1041', '1032', '1001', '1003', '1018', '1057'],\n",
       " ['1000', '1058', '1017', '1049', '1001', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1009', '1034'],\n",
       " ['1030', '1004'],\n",
       " ['1008', '1009'],\n",
       " ['1008', '1004', '1034'],\n",
       " ['1034'],\n",
       " ['1026'],\n",
       " ['1026', '1059'],\n",
       " ['1007'],\n",
       " ['1038', '1026', '1053'],\n",
       " ['1025'],\n",
       " ['1046', '1034'],\n",
       " ['1008', '1020', '1042'],\n",
       " ['1052', '1060', '1004'],\n",
       " ['1025'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1061'],\n",
       " ['1008'],\n",
       " ['1032'],\n",
       " ['1026'],\n",
       " ['1008', '1007', '1034'],\n",
       " ['1034', '1018'],\n",
       " ['1008', '1034'],\n",
       " ['1045',\n",
       "  '1062',\n",
       "  '1017',\n",
       "  '1004',\n",
       "  '1021',\n",
       "  '1008',\n",
       "  '1056',\n",
       "  '1046',\n",
       "  '1040',\n",
       "  '1034'],\n",
       " ['1004'],\n",
       " ['1023', '1040', '1017', '1063'],\n",
       " ['1064',\n",
       "  '1065',\n",
       "  '1066',\n",
       "  '1067',\n",
       "  '1027',\n",
       "  '1040',\n",
       "  '1061',\n",
       "  '1068',\n",
       "  '1042',\n",
       "  '1034',\n",
       "  '1025',\n",
       "  '1069',\n",
       "  '1070',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1071',\n",
       "  '1072',\n",
       "  '1010',\n",
       "  '1008',\n",
       "  '1038',\n",
       "  '1023',\n",
       "  '1026',\n",
       "  '1041'],\n",
       " ['1025', '1026'],\n",
       " ['1008', '1017', '1031', '1052', '1001', '1003', '1018'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1017', '1004'],\n",
       " ['1000', '1031', '1017', '1014', '1002'],\n",
       " ['1025', '1022', '1026', '1017', '1053'],\n",
       " ['1037', '1009', '1032'],\n",
       " ['1025', '1001', '1043', '1004'],\n",
       " ['1008', '1030', '1017', '1003', '1001', '1034', '1002', '1004'],\n",
       " ['1073'],\n",
       " ['1007'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1034'],\n",
       " ['1036', '1040'],\n",
       " ['1008', '1034'],\n",
       " ['1025',\n",
       "  '1069',\n",
       "  '1017',\n",
       "  '1074',\n",
       "  '1008',\n",
       "  '1037',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1032',\n",
       "  '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1000', '1014'],\n",
       " ['1008', '1007'],\n",
       " ['1035', '1001', '1003', '1018'],\n",
       " ['1295'],\n",
       " ['1034'],\n",
       " ['1002'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1007'],\n",
       " ['1034'],\n",
       " ['1008', '1009', '1017', '1034'],\n",
       " ['1004', '1034'],\n",
       " ['1032', '1034'],\n",
       " ['1001'],\n",
       " ['1001', '1003'],\n",
       " ['1000', '1050'],\n",
       " ['1053'],\n",
       " ['1008', '1046', '1034'],\n",
       " ['1075', '1018'],\n",
       " ['1074'],\n",
       " ['1008', '1017', '1034', '1067'],\n",
       " ['1076', '1017', '1004', '1034'],\n",
       " ['1064', '1026'],\n",
       " ['1077', '1022', '1040', '1001', '1018'],\n",
       " ['1053', '1042'],\n",
       " ['1004'],\n",
       " ['1067'],\n",
       " ['1004'],\n",
       " ['1008', '1034'],\n",
       " ['1034'],\n",
       " ['1034'],\n",
       " ['1008', '1009', '1017', '1001', '1003', '1024', '1034', '1018'],\n",
       " ['1020', '1070', '1042'],\n",
       " ['1025', '1034'],\n",
       " ['1035', '1009', '1001', '1002', '1018'],\n",
       " ['1072'],\n",
       " ['1001', '1003', '1004', '1078', '1079'],\n",
       " ['1008', '1004'],\n",
       " ['1040'],\n",
       " ['1008', '1009'],\n",
       " ['1080'],\n",
       " ['1081', '1082', '1040', '1001', '1018', '1083'],\n",
       " ['1034'],\n",
       " ['1058', '1001', '1004'],\n",
       " ['1007'],\n",
       " ['1018'],\n",
       " ['1084',\n",
       "  '1085',\n",
       "  '1086',\n",
       "  '1087',\n",
       "  '1054',\n",
       "  '1036',\n",
       "  '1077',\n",
       "  '1040',\n",
       "  '1003',\n",
       "  '1088',\n",
       "  '1017',\n",
       "  '1018',\n",
       "  '1014',\n",
       "  '1000',\n",
       "  '1089',\n",
       "  '1001'],\n",
       " ['1017', '1018', '1035', '1037', '1090', '1009', '1001', '1032'],\n",
       " ['1010', '1025', '1020', '1026', '1041', '1004'],\n",
       " ['1004'],\n",
       " ['1038', '1041'],\n",
       " ['1008', '1045', '1034'],\n",
       " ['1010', '1017'],\n",
       " ['1059'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1000',\n",
       "  '1025',\n",
       "  '1022',\n",
       "  '1046',\n",
       "  '1040',\n",
       "  '1039',\n",
       "  '1026',\n",
       "  '1049',\n",
       "  '1034',\n",
       "  '1002',\n",
       "  '1018'],\n",
       " ['1091'],\n",
       " ['1039'],\n",
       " ['1008', '1038', '1060', '1026', '1034'],\n",
       " ['1035', '1003', '1018', '1004'],\n",
       " ['1008'],\n",
       " ['1008', '1025', '1026', '1063', '1041', '1034'],\n",
       " ['1030', '1078', '1018'],\n",
       " ['1025', '1007'],\n",
       " ['1017', '1092'],\n",
       " ['1017', '1024'],\n",
       " ['1035', '1020', '1003', '1001', '1078', '1018'],\n",
       " ['1034', '1004'],\n",
       " ['1036', '1000', '1040', '1014'],\n",
       " ['1008'],\n",
       " ['1017',\n",
       "  '1018',\n",
       "  '1021',\n",
       "  '1019',\n",
       "  '1057',\n",
       "  '1010',\n",
       "  '1093',\n",
       "  '1094',\n",
       "  '1011',\n",
       "  '1095',\n",
       "  '1026',\n",
       "  '1068',\n",
       "  '1041',\n",
       "  '1032',\n",
       "  '1096',\n",
       "  '1042',\n",
       "  '1097'],\n",
       " ['1008', '1098'],\n",
       " ['1046'],\n",
       " ['1099', '1054'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1007'],\n",
       " ['1017', '1008', '1000', '1036', '1040', '1052', '1031', '1003'],\n",
       " ['1009'],\n",
       " ['1045'],\n",
       " ['1100', '1040'],\n",
       " ['1000', '1008', '1027', '1009', '1024', '1041', '1101', '1072'],\n",
       " ['1017', '1071'],\n",
       " ['1102', '1103'],\n",
       " ['1001'],\n",
       " ['1008', '1009'],\n",
       " ['1030', '1017'],\n",
       " ['1061', '1004'],\n",
       " ['1025', '1026'],\n",
       " ['1034'],\n",
       " ['1008'],\n",
       " ['1020', '1001', '1003', '1018', '1004'],\n",
       " ['1008', '1016', '1011', '1040'],\n",
       " ['1079', '1018'],\n",
       " ['1038', '1009', '1026', '1041', '1034'],\n",
       " ['1082', '1062', '1083'],\n",
       " ['1030', '1017', '1004'],\n",
       " ['1079'],\n",
       " ['1008', '1035', '1003', '1018'],\n",
       " ['1008', '1007', '1018'],\n",
       " ['1035', '1030', '1037', '1055', '1009', '1017', '1004'],\n",
       " ['1077', '1017', '1031', '1040', '1001', '1003'],\n",
       " ['1017', '1096'],\n",
       " ['1038', '1053'],\n",
       " ['1004'],\n",
       " ['1035', '1008', '1076', '1017', '1003', '1018', '1034'],\n",
       " ['1104', '1004'],\n",
       " ['1025', '1026'],\n",
       " ['1008', '1069'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1003', '1034', '1004', '1071'],\n",
       " ['1017', '1004', '1036', '1008', '1037', '1009', '1052', '1032'],\n",
       " ['1008', '1011', '1040', '1017', '1061', '1014', '1004', '1021', '1105'],\n",
       " ['1008', '1106', '1107', '1009', '1003', '1018'],\n",
       " ['1035', '1008', '1009', '1018', '1034'],\n",
       " ['1025', '1007', '1026', '1041'],\n",
       " ['1000', '1026'],\n",
       " ['1017'],\n",
       " ['1034'],\n",
       " ['1104', '1295', '1100', '1004'],\n",
       " ['1108', '1295', '1054', '1109', '1100', '1017', '1088', '1004'],\n",
       " ['1008', '1106', '1009', '1004'],\n",
       " ['1008', '1034', '1044'],\n",
       " ['1074',\n",
       "  '1110',\n",
       "  '1295',\n",
       "  '1009',\n",
       "  '1031',\n",
       "  '1032',\n",
       "  '1034',\n",
       "  '1111',\n",
       "  '1017',\n",
       "  '1092',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1021',\n",
       "  '1008',\n",
       "  '1010',\n",
       "  '1112',\n",
       "  '1053',\n",
       "  '1002'],\n",
       " ['1034'],\n",
       " ['1008', '1009', '1039'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1092', '1004'],\n",
       " ['1018'],\n",
       " ['1113', '1026', '1041', '1034'],\n",
       " ['1017', '1076', '1114', '1018', '1074', '1008', '1115', '1001', '1003'],\n",
       " ['1030', '1009', '1017', '1074'],\n",
       " ['1017', '1004', '1014', '1000', '1008', '1052', '1040', '1031', '1001'],\n",
       " ['1008', '1027', '1009', '1026', '1018', '1034'],\n",
       " ['1000'],\n",
       " ['1032'],\n",
       " ['1008', '1040'],\n",
       " ['1004'],\n",
       " ['1045', '1046', '1049', '1041', '1003', '1018'],\n",
       " ['1116'],\n",
       " ['1020', '1109', '1017'],\n",
       " ['1008', '1066'],\n",
       " ['1017', '1004', '1117', '1034'],\n",
       " ['1009', '1080'],\n",
       " ['1071'],\n",
       " ['1008', '1032'],\n",
       " ['1001', '1003', '1004', '1018'],\n",
       " ['1073'],\n",
       " ['1034', '1018'],\n",
       " ['1118', '1113', '1020', '1003', '1034'],\n",
       " ['1004'],\n",
       " ['1001', '1003', '1013', '1018'],\n",
       " ['1030', '1017'],\n",
       " ['1017', '1004'],\n",
       " ['1119', '1088', '1014'],\n",
       " ['1120', '1017', '1008', '1112', '1031', '1121', '1060', '1032', '1002'],\n",
       " ['1004', '1002'],\n",
       " ['1122', '1009', '1004'],\n",
       " ['1008', '1058', '1076', '1003', '1001', '1078', '1018', '1034'],\n",
       " ['1003', '1004'],\n",
       " ['1040'],\n",
       " ['1008', '1001', '1004'],\n",
       " ['1025', '1004'],\n",
       " ['1034'],\n",
       " ['1008', '1034', '1018'],\n",
       " ['1008', '1034'],\n",
       " ['1008',\n",
       "  '1027',\n",
       "  '1038',\n",
       "  '1026',\n",
       "  '1017',\n",
       "  '1003',\n",
       "  '1041',\n",
       "  '1068',\n",
       "  '1024',\n",
       "  '1078',\n",
       "  '1034',\n",
       "  '1004'],\n",
       " ['1034'],\n",
       " ['1123', '1058', '1116'],\n",
       " ['1035', '1001', '1003', '1018'],\n",
       " ['1025'],\n",
       " ['1026', '1041', '1034', '1004'],\n",
       " ['1001', '1004'],\n",
       " ['1008', '1009'],\n",
       " ['1018', '1004'],\n",
       " ['1008', '1027', '1070', '1041', '1004'],\n",
       " ['1008'],\n",
       " ['1124'],\n",
       " ['1026', '1042'],\n",
       " ['1010'],\n",
       " ['1008', '1056', '1032'],\n",
       " ['1123'],\n",
       " ['1008', '1034'],\n",
       " ['1025', '1070', '1017', '1067', '1125', '1038', '1026', '1041'],\n",
       " ['1008', '1034'],\n",
       " ['1084', '1295'],\n",
       " ['1017',\n",
       "  '1004',\n",
       "  '1008',\n",
       "  '1037',\n",
       "  '1126',\n",
       "  '1055',\n",
       "  '1009',\n",
       "  '1061',\n",
       "  '1032',\n",
       "  '1034'],\n",
       " ['1008', '1009', '1034'],\n",
       " ['1001'],\n",
       " ['1053'],\n",
       " ['1008', '1034', '1018'],\n",
       " ['1029', '1048', '1018'],\n",
       " ['1032', '1004'],\n",
       " ['1008'],\n",
       " ['1004'],\n",
       " ['1035', '1037', '1009', '1001', '1003', '1004', '1018'],\n",
       " ['1008', '1018'],\n",
       " ['1034', '1018'],\n",
       " ['1008', '1035', '1080', '1003', '1001', '1018'],\n",
       " ['1025', '1026'],\n",
       " ['1118', '1025', '1127', '1070', '1114', '1128', '1004'],\n",
       " ['1025'],\n",
       " ['1008', '1007', '1034'],\n",
       " ['1004'],\n",
       " ['1065',\n",
       "  '1054',\n",
       "  '1129',\n",
       "  '1024',\n",
       "  '1072',\n",
       "  '1008',\n",
       "  '1038',\n",
       "  '1026',\n",
       "  '1034',\n",
       "  '1042',\n",
       "  '1053'],\n",
       " ['1058', '1001', '1080', '1004'],\n",
       " ['1008', '1025', '1070', '1041'],\n",
       " ['1008', '1032', '1034'],\n",
       " ['1029', '1059', '1048'],\n",
       " ['1008', '1034'],\n",
       " ['1025', '1026'],\n",
       " ['1064', '1028'],\n",
       " ['1008', '1045'],\n",
       " ['1034'],\n",
       " ['1003', '1004'],\n",
       " ['1008', '1009', '1040', '1052', '1041', '1018'],\n",
       " ['1008', '1009', '1001'],\n",
       " ['1008', '1017', '1032', '1024', '1004', '1018', '1034', '1043'],\n",
       " ['1008', '1118', '1027', '1070', '1041'],\n",
       " ['1025', '1026'],\n",
       " ['1130', '1017', '1018', '1035', '1037', '1009', '1001', '1003'],\n",
       " ['1008', '1130'],\n",
       " ['1035', '1049', '1001', '1003', '1018'],\n",
       " ['1119', '1081', '1017', '1014', '1089', '1011', '1040', '1031', '1034'],\n",
       " ['1009'],\n",
       " ['1056', '1032'],\n",
       " ['1040'],\n",
       " ['1029'],\n",
       " ['1030', '1017', '1001'],\n",
       " ['1004'],\n",
       " ['1295', '1131', '1017', '1132'],\n",
       " ['1008', '1009', '1004'],\n",
       " ['1008', '1009'],\n",
       " ['1133', '1125', '1026', '1041', '1001', '1067', '1034'],\n",
       " ['1003'],\n",
       " ['1017', '1031', '1040', '1006', '1034', '1018'],\n",
       " ['1003', '1004', '1034', '1071'],\n",
       " ['1046'],\n",
       " ['1000', '1014'],\n",
       " ['1295', '1003', '1061', '1096', '1004'],\n",
       " ['1123'],\n",
       " ['1058', '1004', '1018', '1008', '1035', '1055', '1009', '1003', '1001'],\n",
       " ['1085', '1054'],\n",
       " ['1008', '1009', '1024'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1026'],\n",
       " ['1001', '1003', '1013'],\n",
       " ['1025'],\n",
       " ['1020',\n",
       "  '1123',\n",
       "  '1027',\n",
       "  '1038',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1041',\n",
       "  '1134',\n",
       "  '1042',\n",
       "  '1091'],\n",
       " ['1008', '1054', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1075', '1018'],\n",
       " ['1135', '1037', '1009', '1017', '1004'],\n",
       " ['1025', '1295', '1026', '1004'],\n",
       " ['1008', '1015', '1031', '1017', '1034', '1004'],\n",
       " ['1009', '1040', '1076', '1014', '1074'],\n",
       " ['1025', '1008', '1007', '1034'],\n",
       " ['1018', '1034'],\n",
       " ['1295', '1018'],\n",
       " ['1008', '1065', '1022'],\n",
       " ['1008', '1001', '1018'],\n",
       " ['1065',\n",
       "  '1054',\n",
       "  '1074',\n",
       "  '1036',\n",
       "  '1136',\n",
       "  '1009',\n",
       "  '1040',\n",
       "  '1042',\n",
       "  '1034',\n",
       "  '1025',\n",
       "  '1130',\n",
       "  '1137',\n",
       "  '1017',\n",
       "  '1076',\n",
       "  '1092',\n",
       "  '1004',\n",
       "  '1014',\n",
       "  '1021',\n",
       "  '1000',\n",
       "  '1113',\n",
       "  '1008',\n",
       "  '1030',\n",
       "  '1037',\n",
       "  '1038',\n",
       "  '1089',\n",
       "  '1026',\n",
       "  '1041',\n",
       "  '1053'],\n",
       " ['1043'],\n",
       " ['1025', '1026'],\n",
       " ['1138', '1009', '1024', '1004'],\n",
       " ['1008', '1009'],\n",
       " ['1008', '1009', '1088', '1014'],\n",
       " ['1075'],\n",
       " ['1034'],\n",
       " ['1034'],\n",
       " ['1008', '1034'],\n",
       " ['1009'],\n",
       " ['1009'],\n",
       " ['1004'],\n",
       " ['1025', '1073'],\n",
       " ['1008', '1045', '1139', '1103', '1034', '1071'],\n",
       " ['1140', '1030', '1055', '1004'],\n",
       " ['1025'],\n",
       " ['1020', '1123', '1088', '1001', '1078', '1004'],\n",
       " ['1004'],\n",
       " ['1025', '1026'],\n",
       " ['1009'],\n",
       " ['1031'],\n",
       " ['1035', '1009', '1001', '1003', '1018'],\n",
       " ['1073'],\n",
       " ['1141', '1142', '1004', '1018'],\n",
       " ['1112', '1008', '1017'],\n",
       " ['1017', '1004'],\n",
       " ['1064',\n",
       "  '1004',\n",
       "  '1072',\n",
       "  '1008',\n",
       "  '1136',\n",
       "  '1027',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1041',\n",
       "  '1034'],\n",
       " ['1000', '1014'],\n",
       " ['1058', '1017'],\n",
       " ['1017'],\n",
       " ['1027', '1070', '1041'],\n",
       " ['1108', '1017'],\n",
       " ['1125', '1026', '1143', '1063', '1001', '1041', '1004', '1067'],\n",
       " ['1008', '1034'],\n",
       " ['1032'],\n",
       " ['1000', '1050'],\n",
       " ['1008', '1034'],\n",
       " ['1025', '1026'],\n",
       " ['1046', '1032', '1001', '1034', '1018', '1044'],\n",
       " ['1025', '1009', '1017', '1024', '1004'],\n",
       " ['1058', '1017', '1013', '1018', '1035', '1010', '1037', '1009'],\n",
       " ['1025'],\n",
       " ['1004'],\n",
       " ['1003', '1013', '1001'],\n",
       " ['1025', '1026'],\n",
       " ['1032', '1079'],\n",
       " ['1009', '1017', '1074'],\n",
       " ['1026', '1063'],\n",
       " ['1008', '1034'],\n",
       " ['1036', '1040'],\n",
       " ['1008', '1052', '1018'],\n",
       " ['1004'],\n",
       " ['1030', '1004'],\n",
       " ['1008', '1037', '1009', '1017'],\n",
       " ['1055'],\n",
       " ['1008'],\n",
       " ['1095', '1017'],\n",
       " ['1020', '1099', '1144'],\n",
       " ['1008', '1295', '1034', '1004'],\n",
       " ['1035', '1036', '1037', '1009', '1001', '1034'],\n",
       " ['1000', '1081', '1011', '1017', '1040', '1001', '1002'],\n",
       " ['1008', '1034', '1004'],\n",
       " ['1001'],\n",
       " ['1009', '1031', '1067'],\n",
       " ['1067'],\n",
       " ['1035', '1085', '1008', '1001', '1018', '1034'],\n",
       " ['1008', '1052', '1017', '1060', '1018'],\n",
       " ['1030', '1009', '1017', '1018', '1074'],\n",
       " ['1008', '1034'],\n",
       " ['1145', '1004'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1061'],\n",
       " ['1119', '1008', '1069', '1071'],\n",
       " ['1073', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1034'],\n",
       " ['1008'],\n",
       " ['1034'],\n",
       " ['1036', '1040'],\n",
       " ['1146', '1000', '1035', '1001', '1018'],\n",
       " ['1004'],\n",
       " ['1008', '1034'],\n",
       " ['1025', '1026'],\n",
       " ['1008', '1009', '1058', '1017', '1001', '1002'],\n",
       " ['1024', '1004', '1008', '1046', '1038', '1039', '1026', '1034'],\n",
       " ['1008', '1007', '1024'],\n",
       " ['1030', '1009', '1004'],\n",
       " ['1008', '1051', '1052'],\n",
       " ['1147'],\n",
       " ['1008', '1045', '1034'],\n",
       " ['1008'],\n",
       " ['1040', '1014', '1004'],\n",
       " ['1002'],\n",
       " ['1004'],\n",
       " ['1025', '1026'],\n",
       " ['1004'],\n",
       " ['1008', '1127', '1020', '1017', '1004', '1034', '1071'],\n",
       " ['1032'],\n",
       " ['1008', '1034'],\n",
       " ['1030', '1017', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1029'],\n",
       " ['1085', '1035', '1008', '1009', '1046', '1001'],\n",
       " ['1009'],\n",
       " ['1085',\n",
       "  '1087',\n",
       "  '1054',\n",
       "  '1036',\n",
       "  '1011',\n",
       "  '1040',\n",
       "  '1039',\n",
       "  '1088',\n",
       "  '1003',\n",
       "  '1034',\n",
       "  '1118',\n",
       "  '1130',\n",
       "  '1020',\n",
       "  '1058',\n",
       "  '1017',\n",
       "  '1018',\n",
       "  '1014',\n",
       "  '1000',\n",
       "  '1030',\n",
       "  '1089',\n",
       "  '1134',\n",
       "  '1001'],\n",
       " ['1032'],\n",
       " ['1020', '1096', '1053', '1021'],\n",
       " ['1000', '1008', '1016', '1009', '1011', '1014', '1004'],\n",
       " ['1035', '1001', '1003', '1018'],\n",
       " ['1065', '1026', '1017', '1092', '1042', '1021'],\n",
       " ['1081'],\n",
       " ['1025'],\n",
       " ['1025',\n",
       "  '1070',\n",
       "  '1017',\n",
       "  '1024',\n",
       "  '1067',\n",
       "  '1004',\n",
       "  '1008',\n",
       "  '1030',\n",
       "  '1009',\n",
       "  '1038',\n",
       "  '1026',\n",
       "  '1041'],\n",
       " ['1025', '1010', '1017', '1066', '1053'],\n",
       " ['1008', '1034', '1018'],\n",
       " ['1130', '1058', '1018'],\n",
       " ['1037', '1065', '1009', '1026', '1017', '1053', '1004'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1146', '1148'],\n",
       " ['1002'],\n",
       " ['1070', '1034'],\n",
       " ['1081',\n",
       "  '1082',\n",
       "  '1063',\n",
       "  '1014',\n",
       "  '1004',\n",
       "  '1149',\n",
       "  '1000',\n",
       "  '1038',\n",
       "  '1011',\n",
       "  '1026',\n",
       "  '1012',\n",
       "  '1040',\n",
       "  '1003',\n",
       "  '1041'],\n",
       " ['1004'],\n",
       " ['1010', '1008', '1046', '1150', '1001', '1034', '1018'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1004'],\n",
       " ['1004'],\n",
       " ['1036'],\n",
       " ['1076',\n",
       "  '1017',\n",
       "  '1018',\n",
       "  '1078',\n",
       "  '1074',\n",
       "  '1008',\n",
       "  '1030',\n",
       "  '1052',\n",
       "  '1003',\n",
       "  '1001'],\n",
       " ['1073'],\n",
       " ['1026'],\n",
       " ['1151'],\n",
       " ['1009', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1079'],\n",
       " ['1152', '1001', '1074'],\n",
       " ['1008', '1016', '1031', '1018'],\n",
       " ['1004'],\n",
       " ['1018'],\n",
       " ['1054', '1058', '1043', '1004', '1018'],\n",
       " ['1030'],\n",
       " ['1025'],\n",
       " ['1058', '1001'],\n",
       " ['1026', '1034', '1004'],\n",
       " ['1008', '1017', '1034', '1004'],\n",
       " ['1025'],\n",
       " ['1000'],\n",
       " ['1025', '1058', '1070', '1026', '1041'],\n",
       " ['1025'],\n",
       " ['1008', '1027', '1007', '1070', '1041', '1097', '1153'],\n",
       " ['1004'],\n",
       " ['1026'],\n",
       " ['1008', '1038', '1026', '1053'],\n",
       " ['1008', '1025', '1106', '1009', '1007', '1026', '1001'],\n",
       " ['1008', '1001', '1003', '1018'],\n",
       " ['1008', '1017', '1048', '1018', '1057', '1019'],\n",
       " ['1017'],\n",
       " ['1058', '1017', '1032', '1004'],\n",
       " ['1008', '1118', '1027', '1034', '1018'],\n",
       " ['1043'],\n",
       " ['1000', '1008', '1001', '1018'],\n",
       " ['1008', '1035', '1009', '1018'],\n",
       " ['1046', '1001', '1018'],\n",
       " ['1007'],\n",
       " ['1067'],\n",
       " ['1040'],\n",
       " ['1040', '1014'],\n",
       " ['1034', '1004'],\n",
       " ['1004'],\n",
       " ['1000', '1011', '1040', '1014'],\n",
       " ['1026', '1041'],\n",
       " ['1130', '1017', '1018', '1008', '1035', '1009', '1121', '1001'],\n",
       " ['1045',\n",
       "  '1059',\n",
       "  '1004',\n",
       "  '1008',\n",
       "  '1035',\n",
       "  '1009',\n",
       "  '1038',\n",
       "  '1026',\n",
       "  '1001',\n",
       "  '1003',\n",
       "  '1034'],\n",
       " ['1067', '1004'],\n",
       " ['1007'],\n",
       " ['1009'],\n",
       " ['1003', '1001', '1018'],\n",
       " ['1035', '1037', '1009', '1017', '1018'],\n",
       " ['1004'],\n",
       " ['1004'],\n",
       " ['1031', '1004'],\n",
       " ['1034'],\n",
       " ['1008'],\n",
       " ['1008', '1056', '1040', '1032', '1014'],\n",
       " ['1152'],\n",
       " ['1008', '1037', '1009', '1004', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1076', '1003', '1018', '1078', '1105'],\n",
       " ['1017', '1040'],\n",
       " ['1029', '1025'],\n",
       " ['1000', '1008', '1017', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1004'],\n",
       " ['1037', '1009', '1003'],\n",
       " ['1008', '1027', '1041', '1034', '1028'],\n",
       " ['1147'],\n",
       " ['1008', '1037', '1009', '1034', '1004'],\n",
       " ['1034'],\n",
       " ['1008', '1037', '1009', '1001', '1004'],\n",
       " ['1073'],\n",
       " ['1008', '1045', '1030', '1034', '1004'],\n",
       " ['1017', '1002'],\n",
       " ['1008', '1009', '1039', '1017', '1034'],\n",
       " ['1034'],\n",
       " ['1032', '1004'],\n",
       " ['1037', '1009', '1017', '1004'],\n",
       " ['1001', '1004'],\n",
       " ['1008', '1118', '1018'],\n",
       " ['1096'],\n",
       " ['1008',\n",
       "  '1035',\n",
       "  '1046',\n",
       "  '1009',\n",
       "  '1059',\n",
       "  '1003',\n",
       "  '1001',\n",
       "  '1034',\n",
       "  '1018',\n",
       "  '1078'],\n",
       " ['1140', '1027', '1007', '1018'],\n",
       " ['1003', '1004'],\n",
       " ['1026', '1041', '1034'],\n",
       " ['1017',\n",
       "  '1014',\n",
       "  '1154',\n",
       "  '1008',\n",
       "  '1000',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1031',\n",
       "  '1040',\n",
       "  '1003',\n",
       "  '1088'],\n",
       " ['1025', '1058', '1034', '1004'],\n",
       " ['1034'],\n",
       " ['1038', '1026', '1017', '1067'],\n",
       " ['1009'],\n",
       " ['1030', '1020', '1099', '1017', '1078'],\n",
       " ['1008', '1113', '1034'],\n",
       " ['1011', '1012', '1088'],\n",
       " ['1017',\n",
       "  '1004',\n",
       "  '1018',\n",
       "  '1008',\n",
       "  '1036',\n",
       "  '1035',\n",
       "  '1037',\n",
       "  '1027',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1041',\n",
       "  '1034'],\n",
       " ['1016', '1051', '1017', '1014', '1008', '1040', '1031', '1001', '1003'],\n",
       " ['1003', '1018'],\n",
       " ['1036', '1136', '1100', '1004'],\n",
       " ['1034'],\n",
       " ['1008'],\n",
       " ['1004'],\n",
       " ['1025'],\n",
       " ['1017', '1004'],\n",
       " ['1026'],\n",
       " ['1025'],\n",
       " ['1004'],\n",
       " ['1054'],\n",
       " ['1008', '1025', '1034'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1008', '1009', '1060', '1052', '1018'],\n",
       " ['1009', '1017', '1076', '1001', '1074'],\n",
       " ['1001', '1078'],\n",
       " ['1004'],\n",
       " ['1056', '1032'],\n",
       " ['1004'],\n",
       " ['1004'],\n",
       " ['1295', '1026'],\n",
       " ['1131', '1001'],\n",
       " ['1010', '1064', '1125', '1026', '1017', '1034'],\n",
       " ['1020', '1027', '1059', '1041', '1053', '1021'],\n",
       " ['1000', '1099', '1038', '1026', '1041'],\n",
       " ['1034'],\n",
       " ['1008', '1051'],\n",
       " ['1010', '1124', '1017', '1041', '1004'],\n",
       " ['1030'],\n",
       " ['1017', '1050', '1034'],\n",
       " ['1036', '1008', '1009', '1040'],\n",
       " ['1155', '1075'],\n",
       " ['1025',\n",
       "  '1020',\n",
       "  '1065',\n",
       "  '1124',\n",
       "  '1017',\n",
       "  '1066',\n",
       "  '1004',\n",
       "  '1030',\n",
       "  '1001',\n",
       "  '1003',\n",
       "  '1041',\n",
       "  '1053',\n",
       "  '1075'],\n",
       " ['1008', '1003'],\n",
       " ['1123'],\n",
       " ['1008', '1045'],\n",
       " ['1004'],\n",
       " ['1112', '1031', '1040', '1102', '1014'],\n",
       " ['1045'],\n",
       " ['1008', '1034'],\n",
       " ['1055', '1004'],\n",
       " ['1030', '1041'],\n",
       " ['1004'],\n",
       " ['1029'],\n",
       " ['1025', '1075'],\n",
       " ['1030', '1017', '1024'],\n",
       " ['1125', '1017'],\n",
       " ['1023', '1004'],\n",
       " ['1008', '1054'],\n",
       " ['1018', '1034', '1156', '1004'],\n",
       " ['1032'],\n",
       " ['1025'],\n",
       " ['1027', '1157', '1041'],\n",
       " ['1046'],\n",
       " ['1008', '1009', '1032'],\n",
       " ['1009', '1004'],\n",
       " ['1008', '1038', '1026', '1024', '1018'],\n",
       " ['1158'],\n",
       " ['1017'],\n",
       " ['1008', '1054', '1017', '1003'],\n",
       " ['1008', '1020', '1157', '1026', '1041', '1003', '1018', '1004'],\n",
       " ['1026', '1041'],\n",
       " ['1018', '1075', '1004'],\n",
       " ['1021'],\n",
       " ['1119', '1008', '1070', '1006', '1041', '1034'],\n",
       " ['1004', '1034'],\n",
       " ['1003'],\n",
       " ['1001'],\n",
       " ['1008', '1064', '1123', '1026', '1034'],\n",
       " ['1032'],\n",
       " ['1099', '1018', '1004'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1001', '1003', '1078'],\n",
       " ['1046', '1076', '1001', '1003', '1018', '1004'],\n",
       " ['1008', '1125', '1009', '1017', '1034', '1067'],\n",
       " ['1008', '1105'],\n",
       " ['1035', '1001', '1003', '1002', '1018'],\n",
       " ['1038', '1026', '1001', '1004'],\n",
       " ['1008', '1036', '1037', '1009', '1032', '1061'],\n",
       " ['1004'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1004', '1034'],\n",
       " ['1008', '1046', '1034'],\n",
       " ['1036', '1008', '1052', '1060', '1041', '1067', '1004', '1018'],\n",
       " ['1081',\n",
       "  '1020',\n",
       "  '1049',\n",
       "  '1017',\n",
       "  '1114',\n",
       "  '1004',\n",
       "  '1112',\n",
       "  '1136',\n",
       "  '1003',\n",
       "  '1001',\n",
       "  '1083'],\n",
       " ['1020', '1017', '1004', '1159', '1021'],\n",
       " ['1130', '1024', '1018', '1008', '1036', '1009', '1295', '1001'],\n",
       " ['1059'],\n",
       " ['1030', '1018'],\n",
       " ['1008', '1027', '1041'],\n",
       " ['1008', '1009', '1004'],\n",
       " ['1007'],\n",
       " ['1010', '1008', '1036', '1081', '1020', '1040', '1004'],\n",
       " ['1008', '1009', '1160', '1001', '1032', '1003'],\n",
       " ['1025', '1026'],\n",
       " ['1035', '1037', '1009', '1017', '1001', '1003', '1004'],\n",
       " ['1009'],\n",
       " ['1030', '1004'],\n",
       " ['1001', '1004', '1071'],\n",
       " ['1009'],\n",
       " ['1009', '1004', '1074'],\n",
       " ['1025', '1161', '1026', '1001', '1018'],\n",
       " ['1035', '1008', '1037', '1009', '1017', '1001', '1018', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1025', '1038', '1295', '1026', '1041', '1004'],\n",
       " ['1079'],\n",
       " ['1080'],\n",
       " ['1034'],\n",
       " ['1004', '1034'],\n",
       " ['1004'],\n",
       " ['1008', '1035', '1003', '1001', '1034', '1078', '1018'],\n",
       " ['1008'],\n",
       " ['1008'],\n",
       " ['1009', '1017', '1004', '1074'],\n",
       " ['1004'],\n",
       " ['1001'],\n",
       " ['1017', '1032'],\n",
       " ['1004'],\n",
       " ['1008', '1002'],\n",
       " ['1123', '1038', '1041'],\n",
       " ['1008', '1009', '1034'],\n",
       " ['1118', '1124', '1099', '1004'],\n",
       " ['1008', '1026'],\n",
       " ['1017',\n",
       "  '1076',\n",
       "  '1059',\n",
       "  '1078',\n",
       "  '1004',\n",
       "  '1008',\n",
       "  '1162',\n",
       "  '1001',\n",
       "  '1034',\n",
       "  '1028'],\n",
       " ['1067'],\n",
       " ['1008', '1017', '1048', '1018'],\n",
       " ['1017', '1004', '1018', '1008', '1010', '1093', '1009', '1003', '1032'],\n",
       " ['1034'],\n",
       " ['1295', '1059', '1091'],\n",
       " ['1008', '1017', '1041', '1034'],\n",
       " ['1017', '1063', '1078', '1135', '1099', '1052', '1060', '1003', '1001'],\n",
       " ['1137', '1033'],\n",
       " ['1034', '1004'],\n",
       " ['1004'],\n",
       " ['1008', '1025', '1068', '1041', '1067'],\n",
       " ['1034'],\n",
       " ['1001', '1018', '1004'],\n",
       " ['1034'],\n",
       " ['1119', '1032', '1034'],\n",
       " ['1008'],\n",
       " ['1004'],\n",
       " ['1110', '1046'],\n",
       " ['1140', '1007', '1070', '1034', '1002', '1004'],\n",
       " ['1008'],\n",
       " ['1004'],\n",
       " ['1017', '1001'],\n",
       " ['1026'],\n",
       " ['1017', '1088'],\n",
       " ['1025', '1026', '1041'],\n",
       " ['1004', '1105'],\n",
       " ['1008', '1009'],\n",
       " ['1030', '1009', '1032', '1004', '1002'],\n",
       " ['1008', '1034', '1018'],\n",
       " ['1036'],\n",
       " ['1038', '1026'],\n",
       " ['1004'],\n",
       " ['1295'],\n",
       " ['1070', '1034', '1004'],\n",
       " ['1092'],\n",
       " ['1034'],\n",
       " ['1113', '1026'],\n",
       " ['1034'],\n",
       " ['1046', '1001', '1018', '1034'],\n",
       " ['1009'],\n",
       " ['1004'],\n",
       " ['1295', '1100', '1018'],\n",
       " ['1037', '1030', '1009', '1017', '1004', '1074'],\n",
       " ['1009', '1001', '1003', '1018'],\n",
       " ['1008', '1035', '1009', '1095', '1017', '1163', '1018', '1004', '1002'],\n",
       " ['1035', '1037', '1009', '1018'],\n",
       " ['1032', '1002'],\n",
       " ['1138', '1004'],\n",
       " ['1009', '1034'],\n",
       " ['1040', '1014'],\n",
       " ['1123', '1007', '1034'],\n",
       " ['1008', '1009'],\n",
       " ['1081',\n",
       "  '1065',\n",
       "  '1020',\n",
       "  '1054',\n",
       "  '1131',\n",
       "  '1017',\n",
       "  '1132',\n",
       "  '1014',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1000',\n",
       "  '1164',\n",
       "  '1038',\n",
       "  '1095',\n",
       "  '1011',\n",
       "  '1026',\n",
       "  '1031',\n",
       "  '1040',\n",
       "  '1134'],\n",
       " ['1064', '1027', '1041', '1004'],\n",
       " ['1030', '1002'],\n",
       " ['1008', '1046', '1009'],\n",
       " ['1000', '1020', '1144', '1014', '1004'],\n",
       " ['1001', '1083'],\n",
       " ['1017', '1003', '1004'],\n",
       " ['1008', '1009'],\n",
       " ['1008', '1004', '1034'],\n",
       " ['1037', '1009', '1017'],\n",
       " ['1004'],\n",
       " ['1046', '1043', '1034'],\n",
       " ['1008', '1038', '1041'],\n",
       " ['1025'],\n",
       " ['1009', '1040', '1017'],\n",
       " ['1034'],\n",
       " ['1003'],\n",
       " ['1008', '1076', '1001', '1018'],\n",
       " ['1032'],\n",
       " ['1098', '1038', '1026', '1041'],\n",
       " ['1008', '1007', '1080', '1034'],\n",
       " ['1038', '1053'],\n",
       " ['1008', '1004', '1034'],\n",
       " ['1037', '1009', '1034'],\n",
       " ['1295', '1018'],\n",
       " ['1038', '1053'],\n",
       " ['1034'],\n",
       " ['1025', '1026'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1034'],\n",
       " ['1004'],\n",
       " ['1008'],\n",
       " ['1008', '1009', '1059', '1165', '1034'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1038'],\n",
       " ['1141', '1010', '1023', '1144', '1166', '1072'],\n",
       " ['1017', '1032', '1034'],\n",
       " ['1008',\n",
       "  '1016',\n",
       "  '1123',\n",
       "  '1038',\n",
       "  '1046',\n",
       "  '1026',\n",
       "  '1017',\n",
       "  '1041',\n",
       "  '1001',\n",
       "  '1034',\n",
       "  '1071'],\n",
       " ['1008', '1009', '1076', '1001', '1004', '1018', '1167', '1074'],\n",
       " ['1001', '1003', '1018', '1004'],\n",
       " ['1008', '1158', '1009', '1017', '1001', '1032', '1024', '1004', '1034'],\n",
       " ['1030'],\n",
       " ['1045', '1008'],\n",
       " ['1008'],\n",
       " ['1016', '1168', '1017', '1169', '1031', '1040', '1050', '1001'],\n",
       " ['1007'],\n",
       " ['1064', '1026'],\n",
       " ['1009'],\n",
       " ['1008', '1034', '1004', '1044'],\n",
       " ['1001'],\n",
       " ['1017', '1007', '1053'],\n",
       " ['1045', '1008', '1017', '1034'],\n",
       " ['1036'],\n",
       " ['1044'],\n",
       " ['1075', '1018'],\n",
       " ['1003', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1295', '1076', '1003', '1001', '1018', '1004'],\n",
       " ['1025', '1152', '1041'],\n",
       " ['1034'],\n",
       " ['1008'],\n",
       " ['1058', '1018'],\n",
       " ['1005'],\n",
       " ['1008', '1009'],\n",
       " ['1008', '1009', '1039', '1137', '1004', '1067', '1034'],\n",
       " ['1081',\n",
       "  '1020',\n",
       "  '1017',\n",
       "  '1004',\n",
       "  '1010',\n",
       "  '1008',\n",
       "  '1037',\n",
       "  '1011',\n",
       "  '1009',\n",
       "  '1100',\n",
       "  '1134',\n",
       "  '1034',\n",
       "  '1028'],\n",
       " ['1034'],\n",
       " ['1009', '1076', '1001', '1091', '1167'],\n",
       " ['1085', '1170', '1054', '1017', '1004', '1037', '1009', '1001'],\n",
       " ['1004'],\n",
       " ['1008', '1034'],\n",
       " ['1034', '1004'],\n",
       " ['1008'],\n",
       " ['1008', '1045'],\n",
       " ['1034', '1004'],\n",
       " ['1171', '1038', '1026', '1017', '1034'],\n",
       " ['1034', '1004'],\n",
       " ['1003', '1004'],\n",
       " ['1087', '1134'],\n",
       " ['1025', '1026', '1041'],\n",
       " ['1035', '1009', '1155', '1001', '1018', '1004', '1075'],\n",
       " ['1008', '1009', '1172'],\n",
       " ['1008', '1123', '1009', '1006', '1007', '1034'],\n",
       " ['1032'],\n",
       " ['1037', '1009', '1001', '1004'],\n",
       " ['1008', '1035', '1009', '1003', '1018'],\n",
       " ['1034'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1008', '1009'],\n",
       " ['1173', '1295', '1009', '1100', '1004', '1074'],\n",
       " ['1008'],\n",
       " ['1157', '1017', '1076', '1018', '1004', '1030', '1009', '1105'],\n",
       " ['1061'],\n",
       " ['1008', '1056', '1009', '1032', '1034', '1014'],\n",
       " ['1008', '1020', '1070', '1053', '1034'],\n",
       " ['1062', '1017'],\n",
       " ['1010', '1130', '1147', '1020', '1039', '1024', '1068'],\n",
       " ['1131'],\n",
       " ['1032'],\n",
       " ['1008', '1060', '1052', '1034'],\n",
       " ['1130', '1001'],\n",
       " ['1009'],\n",
       " ['1020', '1157', '1003', '1004'],\n",
       " ['1004'],\n",
       " ['1124'],\n",
       " ['1004'],\n",
       " ['1008', '1055'],\n",
       " ['1003', '1001'],\n",
       " ['1008', '1000', '1037', '1009', '1017', '1001', '1004'],\n",
       " ['1004', '1034'],\n",
       " ['1034'],\n",
       " ['1034'],\n",
       " ['1008', '1064', '1136', '1038', '1070', '1026', '1034', '1004'],\n",
       " ['1174', '1008', '1034'],\n",
       " ['1010', '1017'],\n",
       " ['1038'],\n",
       " ['1008', '1034'],\n",
       " ['1040'],\n",
       " ['1008', '1001', '1018'],\n",
       " ['1008'],\n",
       " ['1008', '1034'],\n",
       " ['1001', '1003', '1004'],\n",
       " ['1008', '1022', '1003', '1018', '1004'],\n",
       " ['1008'],\n",
       " ['1049', '1001'],\n",
       " ['1018'],\n",
       " ['1008', '1124', '1108', '1058', '1055', '1018'],\n",
       " ['1023', '1034', '1004'],\n",
       " ['1051'],\n",
       " ['1099'],\n",
       " ['1001'],\n",
       " ['1008', '1009', '1034'],\n",
       " ['1017'],\n",
       " ['1003', '1001'],\n",
       " ['1034'],\n",
       " ['1175', '1001'],\n",
       " ['1020', '1157'],\n",
       " ['1008', '1027', '1038', '1026'],\n",
       " ['1038', '1026'],\n",
       " ['1025'],\n",
       " ['1017',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1078',\n",
       "  '1035',\n",
       "  '1037',\n",
       "  '1030',\n",
       "  '1009',\n",
       "  '1003',\n",
       "  '1001'],\n",
       " ['1065'],\n",
       " ['1035', '1001', '1018'],\n",
       " ['1008', '1051', '1055', '1040', '1032', '1088', '1018'],\n",
       " ['1036',\n",
       "  '1008',\n",
       "  '1035',\n",
       "  '1009',\n",
       "  '1060',\n",
       "  '1052',\n",
       "  '1017',\n",
       "  '1034',\n",
       "  '1156',\n",
       "  '1018'],\n",
       " ['1008', '1070', '1066', '1072'],\n",
       " ['1008', '1034'],\n",
       " ['1030', '1017', '1078', '1018'],\n",
       " ['1061'],\n",
       " ['1104',\n",
       "  '1063',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1072',\n",
       "  '1074',\n",
       "  '1008',\n",
       "  '1010',\n",
       "  '1037',\n",
       "  '1030',\n",
       "  '1046',\n",
       "  '1038',\n",
       "  '1009',\n",
       "  '1026',\n",
       "  '1003',\n",
       "  '1041',\n",
       "  '1034',\n",
       "  '1053'],\n",
       " ['1009', '1003'],\n",
       " ['1032'],\n",
       " ['1034', '1018'],\n",
       " ['1034'],\n",
       " ['1008', '1038', '1053', '1034'],\n",
       " ['1046', '1017', '1034'],\n",
       " ['1058',\n",
       "  '1017',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1030',\n",
       "  '1077',\n",
       "  '1100',\n",
       "  '1052',\n",
       "  '1031',\n",
       "  '1001',\n",
       "  '1075'],\n",
       " ['1089', '1054', '1009', '1004'],\n",
       " ['1004'],\n",
       " ['1030', '1017', '1078'],\n",
       " ['1008', '1034'],\n",
       " ['1008', '1034'],\n",
       " ['1067'],\n",
       " ['1029', '1008', '1009', '1017', '1048', '1018'],\n",
       " ['1058', '1034'],\n",
       " ['1008'],\n",
       " ['1008', '1035', '1009', '1018'],\n",
       " ['1040'],\n",
       " ['1004'],\n",
       " ['1035', '1008', '1037', '1009', '1018', '1034'],\n",
       " ['1008', '1059', '1048', '1018', '1034'],\n",
       " ['1001'],\n",
       " ['1008', '1052', '1049', '1001', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1004'],\n",
       " ['1010', '1011', '1005'],\n",
       " ['1008', '1035', '1009', '1034', '1018'],\n",
       " ['1030', '1009', '1040', '1017', '1002'],\n",
       " ['1034'],\n",
       " ['1008', '1070', '1068', '1176'],\n",
       " ['1008', '1007', '1006', '1004', '1018', '1034', '1105'],\n",
       " ['1124', '1295', '1018', '1043'],\n",
       " ['1000'],\n",
       " ['1008', '1038', '1053', '1004'],\n",
       " ['1038', '1026'],\n",
       " ['1004', '1075', '1018'],\n",
       " ['1025', '1026', '1070'],\n",
       " ['1004'],\n",
       " ['1017'],\n",
       " ['1027', '1020', '1026', '1176'],\n",
       " ['1000', '1037', '1157', '1020', '1009', '1001'],\n",
       " ['1025'],\n",
       " ['1034'],\n",
       " ['1004', '1034'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1119', '1046', '1055', '1002'],\n",
       " ['1004'],\n",
       " ['1119', '1026', '1177', '1059', '1034', '1053'],\n",
       " ['1025', '1026'],\n",
       " ['1008', '1041'],\n",
       " ['1295', '1004'],\n",
       " ['1008', '1034'],\n",
       " ['1081', '1082', '1062', '1011', '1017', '1134'],\n",
       " ['1046', '1001', '1003'],\n",
       " ['1008', '1009', '1003', '1018'],\n",
       " ['1008', '1026', '1034', '1018'],\n",
       " ['1008', '1045', '1027', '1046', '1026', '1004'],\n",
       " ['1008', '1140', '1141', '1003', '1001'],\n",
       " ['1034'],\n",
       " ['1008', '1018', '1034'],\n",
       " ['1034'],\n",
       " ['1008', '1034'],\n",
       " ['1032'],\n",
       " ['1025', '1026'],\n",
       " ['1004'],\n",
       " ['1000', '1001'],\n",
       " ['1004'],\n",
       " ['1034'],\n",
       " ['1034', '1004'],\n",
       " ['1008', '1018'],\n",
       " ['1034', '1004'],\n",
       " ['1123', '1004'],\n",
       " ['1008', '1001', '1018'],\n",
       " ['1025', '1008', '1058', '1026', '1034'],\n",
       " ['1034'],\n",
       " ['1035', '1008', '1009', '1003', '1018'],\n",
       " ['1008', '1023'],\n",
       " ['1009', '1073', '1004', '1074'],\n",
       " ['1025', '1026'],\n",
       " ['1008', '1017', '1034'],\n",
       " ['1008', '1035', '1009', '1056', '1032', '1004', '1018'],\n",
       " ['1125'],\n",
       " ['1058', '1017'],\n",
       " ['1009', '1059'],\n",
       " ['1008', '1037', '1009'],\n",
       " ['1157', '1003', '1004', '1034'],\n",
       " ['1002'],\n",
       " ['1130',\n",
       "  '1017',\n",
       "  '1018',\n",
       "  '1004',\n",
       "  '1035',\n",
       "  '1008',\n",
       "  '1030',\n",
       "  '1037',\n",
       "  '1009',\n",
       "  '1003',\n",
       "  '1001',\n",
       "  '1002',\n",
       "  '1034',\n",
       "  '1167'],\n",
       " ['1174', '1003', '1001', '1018'],\n",
       " ['1295', '1003', '1001', '1004'],\n",
       " ['1113', '1070', '1026', '1018', '1034'],\n",
       " ['1084', '1130', '1040', '1003', '1001'],\n",
       " ['1046', '1001', '1018'],\n",
       " ['1029'],\n",
       " ['1004'],\n",
       " ['1017', '1021'],\n",
       " ['1008', '1004'],\n",
       " ...]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "votes"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对浏览记录进行 one-hot 编码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "te = TransactionEncoder()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "te_ary = te.fit(votes).transform(votes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(te_ary, columns=te.columns_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>1000</th>\n",
       "      <th>1001</th>\n",
       "      <th>1002</th>\n",
       "      <th>1003</th>\n",
       "      <th>1004</th>\n",
       "      <th>1005</th>\n",
       "      <th>1006</th>\n",
       "      <th>1007</th>\n",
       "      <th>1008</th>\n",
       "      <th>1009</th>\n",
       "      <th>...</th>\n",
       "      <th>1276</th>\n",
       "      <th>1277</th>\n",
       "      <th>1278</th>\n",
       "      <th>1279</th>\n",
       "      <th>1280</th>\n",
       "      <th>1281</th>\n",
       "      <th>1282</th>\n",
       "      <th>1283</th>\n",
       "      <th>1284</th>\n",
       "      <th>1295</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32705</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32706</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32707</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32708</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32709</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>...</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>32710 rows × 285 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "        1000   1001   1002   1003   1004   1005   1006   1007   1008   1009  \\\n",
       "0       True   True   True  False  False  False  False  False  False  False   \n",
       "1      False   True  False   True  False  False  False  False  False  False   \n",
       "2      False   True  False   True   True  False  False  False  False  False   \n",
       "3      False  False  False  False  False   True  False  False  False  False   \n",
       "4      False  False  False  False  False  False   True  False  False  False   \n",
       "...      ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       "32705  False   True  False   True   True  False  False  False  False  False   \n",
       "32706  False  False  False  False   True  False  False  False   True   True   \n",
       "32707  False  False  False  False  False  False  False  False   True  False   \n",
       "32708  False   True  False   True  False  False  False  False  False  False   \n",
       "32709  False   True  False  False  False  False  False  False  False  False   \n",
       "\n",
       "       ...   1276   1277   1278   1279   1280   1281   1282   1283   1284  \\\n",
       "0      ...  False  False  False  False  False  False  False  False  False   \n",
       "1      ...  False  False  False  False  False  False  False  False  False   \n",
       "2      ...  False  False  False  False  False  False  False  False  False   \n",
       "3      ...  False  False  False  False  False  False  False  False  False   \n",
       "4      ...  False  False  False  False  False  False  False  False  False   \n",
       "...    ...    ...    ...    ...    ...    ...    ...    ...    ...    ...   \n",
       "32705  ...  False  False  False  False  False  False  False  False  False   \n",
       "32706  ...  False  False  False  False  False  False  False  False  False   \n",
       "32707  ...  False  False  False  False  False  False  False  False  False   \n",
       "32708  ...  False  False  False  False  False  False  False  False  False   \n",
       "32709  ...  False  False  False  False  False  False  False  False  False   \n",
       "\n",
       "        1295  \n",
       "0      False  \n",
       "1      False  \n",
       "2      False  \n",
       "3      False  \n",
       "4      False  \n",
       "...      ...  \n",
       "32705  False  \n",
       "32706  False  \n",
       "32707  False  \n",
       "32708  False  \n",
       "32709  False  \n",
       "\n",
       "[32710 rows x 285 columns]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用Apriori算法，计算频繁项集和关联规则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>support</th>\n",
       "      <th>itemsets</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.027881</td>\n",
       "      <td>(1000)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.136075</td>\n",
       "      <td>(1001)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.090737</td>\n",
       "      <td>(1003)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.258728</td>\n",
       "      <td>(1004)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.026445</td>\n",
       "      <td>(1007)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>0.025191</td>\n",
       "      <td>(1034, 1008, 1004)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>0.030266</td>\n",
       "      <td>(1008, 1018, 1009)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>0.031733</td>\n",
       "      <td>(1034, 1008, 1017)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>0.029074</td>\n",
       "      <td>(1034, 1008, 1018)</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>0.028737</td>\n",
       "      <td>(1009, 1035, 1018)</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>61 rows × 2 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     support            itemsets\n",
       "0   0.027881              (1000)\n",
       "1   0.136075              (1001)\n",
       "2   0.090737              (1003)\n",
       "3   0.258728              (1004)\n",
       "4   0.026445              (1007)\n",
       "..       ...                 ...\n",
       "56  0.025191  (1034, 1008, 1004)\n",
       "57  0.030266  (1008, 1018, 1009)\n",
       "58  0.031733  (1034, 1008, 1017)\n",
       "59  0.029074  (1034, 1008, 1018)\n",
       "60  0.028737  (1009, 1035, 1018)\n",
       "\n",
       "[61 rows x 2 columns]"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 利用 Apriori 的支持度找出频繁项集,阈值为0.03\n",
    "freq = apriori(df, min_support=0.025, use_colnames=True)\n",
    "freq"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "使用提升度来筛选规则，阈值为2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>antecedents</th>\n",
       "      <th>consequents</th>\n",
       "      <th>antecedent support</th>\n",
       "      <th>consequent support</th>\n",
       "      <th>support</th>\n",
       "      <th>confidence</th>\n",
       "      <th>lift</th>\n",
       "      <th>leverage</th>\n",
       "      <th>conviction</th>\n",
       "      <th>zhangs_metric</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.608491</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>2.206653</td>\n",
       "      <td>0.853849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.405752</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>1.530106</td>\n",
       "      <td>0.898658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.436756</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.486128</td>\n",
       "      <td>0.725659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.364728</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.359930</td>\n",
       "      <td>0.748955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.217479</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.207950</td>\n",
       "      <td>0.866086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.540480</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.880061</td>\n",
       "      <td>0.791576</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.516846</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.732478</td>\n",
       "      <td>0.753058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.287805</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.276705</td>\n",
       "      <td>0.818023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.232066</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>1.230894</td>\n",
       "      <td>0.889978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.599665</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>2.144489</td>\n",
       "      <td>0.808317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>(1037)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.035463</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.032437</td>\n",
       "      <td>0.914655</td>\n",
       "      <td>6.464644</td>\n",
       "      <td>0.027419</td>\n",
       "      <td>10.059358</td>\n",
       "      <td>0.876392</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1037)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.035463</td>\n",
       "      <td>0.032437</td>\n",
       "      <td>0.229257</td>\n",
       "      <td>6.464644</td>\n",
       "      <td>0.027419</td>\n",
       "      <td>1.251437</td>\n",
       "      <td>0.984623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.841429</td>\n",
       "      <td>5.163819</td>\n",
       "      <td>0.037150</td>\n",
       "      <td>5.278738</td>\n",
       "      <td>0.853053</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.282739</td>\n",
       "      <td>5.163819</td>\n",
       "      <td>0.037150</td>\n",
       "      <td>1.317856</td>\n",
       "      <td>0.963314</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>(1025)</td>\n",
       "      <td>(1026)</td>\n",
       "      <td>0.064904</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.035310</td>\n",
       "      <td>0.544041</td>\n",
       "      <td>5.526583</td>\n",
       "      <td>0.028921</td>\n",
       "      <td>1.977283</td>\n",
       "      <td>0.875906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>(1026)</td>\n",
       "      <td>(1025)</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.064904</td>\n",
       "      <td>0.035310</td>\n",
       "      <td>0.358696</td>\n",
       "      <td>5.526583</td>\n",
       "      <td>0.028921</td>\n",
       "      <td>1.458116</td>\n",
       "      <td>0.908489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>(1038)</td>\n",
       "      <td>(1026)</td>\n",
       "      <td>0.033935</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.027301</td>\n",
       "      <td>0.804505</td>\n",
       "      <td>8.172467</td>\n",
       "      <td>0.023960</td>\n",
       "      <td>4.611662</td>\n",
       "      <td>0.908466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>(1026)</td>\n",
       "      <td>(1038)</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.033935</td>\n",
       "      <td>0.027301</td>\n",
       "      <td>0.277329</td>\n",
       "      <td>8.172467</td>\n",
       "      <td>0.023960</td>\n",
       "      <td>1.336799</td>\n",
       "      <td>0.973467</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>(1026)</td>\n",
       "      <td>(1041)</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.045858</td>\n",
       "      <td>0.028157</td>\n",
       "      <td>0.286025</td>\n",
       "      <td>6.237248</td>\n",
       "      <td>0.023642</td>\n",
       "      <td>1.336380</td>\n",
       "      <td>0.931356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>(1041)</td>\n",
       "      <td>(1026)</td>\n",
       "      <td>0.045858</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.028157</td>\n",
       "      <td>0.614000</td>\n",
       "      <td>6.237248</td>\n",
       "      <td>0.023642</td>\n",
       "      <td>2.335645</td>\n",
       "      <td>0.880029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>(1003, 1001)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.601883</td>\n",
       "      <td>3.693730</td>\n",
       "      <td>0.024235</td>\n",
       "      <td>2.102528</td>\n",
       "      <td>0.771889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>(1003, 1018)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.708605</td>\n",
       "      <td>5.207474</td>\n",
       "      <td>0.026850</td>\n",
       "      <td>2.964791</td>\n",
       "      <td>0.847724</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>(1001, 1018)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.559156</td>\n",
       "      <td>6.162401</td>\n",
       "      <td>0.027839</td>\n",
       "      <td>2.062553</td>\n",
       "      <td>0.890659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1001, 1018)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.366240</td>\n",
       "      <td>6.162401</td>\n",
       "      <td>0.027839</td>\n",
       "      <td>1.484108</td>\n",
       "      <td>0.921324</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1003, 1018)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.244215</td>\n",
       "      <td>5.207474</td>\n",
       "      <td>0.026850</td>\n",
       "      <td>1.261077</td>\n",
       "      <td>0.935229</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1003, 1001)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.203940</td>\n",
       "      <td>3.693730</td>\n",
       "      <td>0.024235</td>\n",
       "      <td>1.186829</td>\n",
       "      <td>0.871236</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>(1008, 1018)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.073066</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.414226</td>\n",
       "      <td>2.927686</td>\n",
       "      <td>0.019928</td>\n",
       "      <td>1.465606</td>\n",
       "      <td>0.710335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>(1008, 1009)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.077927</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.388388</td>\n",
       "      <td>2.383519</td>\n",
       "      <td>0.017568</td>\n",
       "      <td>1.368600</td>\n",
       "      <td>0.629508</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>(1008)</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.672554</td>\n",
       "      <td>2.030388</td>\n",
       "      <td>0.015359</td>\n",
       "      <td>2.042341</td>\n",
       "      <td>0.531397</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>(1008)</td>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.091371</td>\n",
       "      <td>2.030388</td>\n",
       "      <td>0.015359</td>\n",
       "      <td>1.051032</td>\n",
       "      <td>0.758847</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1008, 1009)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.077927</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.185741</td>\n",
       "      <td>2.383519</td>\n",
       "      <td>0.017568</td>\n",
       "      <td>1.132407</td>\n",
       "      <td>0.693448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1008, 1018)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.073066</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.213915</td>\n",
       "      <td>2.927686</td>\n",
       "      <td>0.019928</td>\n",
       "      <td>1.179178</td>\n",
       "      <td>0.766945</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>(1034, 1017)</td>\n",
       "      <td>(1008)</td>\n",
       "      <td>0.047356</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.031733</td>\n",
       "      <td>0.670110</td>\n",
       "      <td>2.023008</td>\n",
       "      <td>0.016047</td>\n",
       "      <td>2.027207</td>\n",
       "      <td>0.530824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>(1008)</td>\n",
       "      <td>(1034, 1017)</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.047356</td>\n",
       "      <td>0.031733</td>\n",
       "      <td>0.095801</td>\n",
       "      <td>2.023008</td>\n",
       "      <td>0.016047</td>\n",
       "      <td>1.053578</td>\n",
       "      <td>0.756160</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>(1034, 1018)</td>\n",
       "      <td>(1008)</td>\n",
       "      <td>0.042984</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.029074</td>\n",
       "      <td>0.676387</td>\n",
       "      <td>2.041958</td>\n",
       "      <td>0.014836</td>\n",
       "      <td>2.066529</td>\n",
       "      <td>0.533193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>(1008)</td>\n",
       "      <td>(1034, 1018)</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.042984</td>\n",
       "      <td>0.029074</td>\n",
       "      <td>0.087771</td>\n",
       "      <td>2.041958</td>\n",
       "      <td>0.014836</td>\n",
       "      <td>1.049097</td>\n",
       "      <td>0.763020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>(1009, 1035)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.875233</td>\n",
       "      <td>5.371269</td>\n",
       "      <td>0.023387</td>\n",
       "      <td>6.708916</td>\n",
       "      <td>0.841453</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.638587</td>\n",
       "      <td>11.662858</td>\n",
       "      <td>0.026273</td>\n",
       "      <td>2.615418</td>\n",
       "      <td>0.957339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>(1035, 1018)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.623756</td>\n",
       "      <td>4.408611</td>\n",
       "      <td>0.022219</td>\n",
       "      <td>2.281801</td>\n",
       "      <td>0.810513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1035, 1018)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.203111</td>\n",
       "      <td>4.408611</td>\n",
       "      <td>0.022219</td>\n",
       "      <td>1.197066</td>\n",
       "      <td>0.900592</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.524846</td>\n",
       "      <td>11.662858</td>\n",
       "      <td>0.026273</td>\n",
       "      <td>2.009873</td>\n",
       "      <td>0.967217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1009, 1035)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.176360</td>\n",
       "      <td>5.371269</td>\n",
       "      <td>0.023387</td>\n",
       "      <td>1.174258</td>\n",
       "      <td>0.972250</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     antecedents   consequents  antecedent support  consequent support  \\\n",
       "0         (1003)        (1001)            0.090737            0.136075   \n",
       "1         (1001)        (1003)            0.136075            0.090737   \n",
       "2         (1001)        (1018)            0.136075            0.162947   \n",
       "3         (1018)        (1001)            0.162947            0.136075   \n",
       "4         (1001)        (1035)            0.136075            0.054754   \n",
       "5         (1035)        (1001)            0.054754            0.136075   \n",
       "6         (1003)        (1018)            0.090737            0.162947   \n",
       "7         (1018)        (1003)            0.162947            0.090737   \n",
       "8         (1009)        (1035)            0.141486            0.054754   \n",
       "9         (1035)        (1009)            0.054754            0.141486   \n",
       "10        (1037)        (1009)            0.035463            0.141486   \n",
       "11        (1009)        (1037)            0.141486            0.035463   \n",
       "12        (1035)        (1018)            0.054754            0.162947   \n",
       "13        (1018)        (1035)            0.162947            0.054754   \n",
       "14        (1025)        (1026)            0.064904            0.098441   \n",
       "15        (1026)        (1025)            0.098441            0.064904   \n",
       "16        (1038)        (1026)            0.033935            0.098441   \n",
       "17        (1026)        (1038)            0.098441            0.033935   \n",
       "18        (1026)        (1041)            0.098441            0.045858   \n",
       "19        (1041)        (1026)            0.045858            0.098441   \n",
       "20  (1003, 1001)        (1018)            0.055212            0.162947   \n",
       "21  (1003, 1018)        (1001)            0.046897            0.136075   \n",
       "22  (1001, 1018)        (1003)            0.059431            0.090737   \n",
       "23        (1003)  (1001, 1018)            0.090737            0.059431   \n",
       "24        (1001)  (1003, 1018)            0.136075            0.046897   \n",
       "25        (1018)  (1003, 1001)            0.162947            0.055212   \n",
       "26  (1008, 1018)        (1009)            0.073066            0.141486   \n",
       "27  (1008, 1009)        (1018)            0.077927            0.162947   \n",
       "28  (1009, 1018)        (1008)            0.045002            0.331244   \n",
       "29        (1008)  (1009, 1018)            0.331244            0.045002   \n",
       "30        (1018)  (1008, 1009)            0.162947            0.077927   \n",
       "31        (1009)  (1008, 1018)            0.141486            0.073066   \n",
       "32  (1034, 1017)        (1008)            0.047356            0.331244   \n",
       "33        (1008)  (1034, 1017)            0.331244            0.047356   \n",
       "34  (1034, 1018)        (1008)            0.042984            0.331244   \n",
       "35        (1008)  (1034, 1018)            0.331244            0.042984   \n",
       "36  (1009, 1035)        (1018)            0.032834            0.162947   \n",
       "37  (1009, 1018)        (1035)            0.045002            0.054754   \n",
       "38  (1035, 1018)        (1009)            0.046072            0.141486   \n",
       "39        (1009)  (1035, 1018)            0.141486            0.046072   \n",
       "40        (1035)  (1009, 1018)            0.054754            0.045002   \n",
       "41        (1018)  (1009, 1035)            0.162947            0.032834   \n",
       "\n",
       "     support  confidence       lift  leverage  conviction  zhangs_metric  \n",
       "0   0.055212    0.608491   4.471743  0.042866    2.206653       0.853849  \n",
       "1   0.055212    0.405752   4.471743  0.042866    1.530106       0.898658  \n",
       "2   0.059431    0.436756   2.680353  0.037258    1.486128       0.725659  \n",
       "3   0.059431    0.364728   2.680353  0.037258    1.359930       0.748955  \n",
       "4   0.029593    0.217479   3.971940  0.022143    1.207950       0.866086  \n",
       "5   0.029593    0.540480   3.971940  0.022143    1.880061       0.791576  \n",
       "6   0.046897    0.516846   3.171866  0.032112    1.732478       0.753058  \n",
       "7   0.046897    0.287805   3.171866  0.032112    1.276705       0.818023  \n",
       "8   0.032834    0.232066   4.238341  0.025087    1.230894       0.889978  \n",
       "9   0.032834    0.599665   4.238341  0.025087    2.144489       0.808317  \n",
       "10  0.032437    0.914655   6.464644  0.027419   10.059358       0.876392  \n",
       "11  0.032437    0.229257   6.464644  0.027419    1.251437       0.984623  \n",
       "12  0.046072    0.841429   5.163819  0.037150    5.278738       0.853053  \n",
       "13  0.046072    0.282739   5.163819  0.037150    1.317856       0.963314  \n",
       "14  0.035310    0.544041   5.526583  0.028921    1.977283       0.875906  \n",
       "15  0.035310    0.358696   5.526583  0.028921    1.458116       0.908489  \n",
       "16  0.027301    0.804505   8.172467  0.023960    4.611662       0.908466  \n",
       "17  0.027301    0.277329   8.172467  0.023960    1.336799       0.973467  \n",
       "18  0.028157    0.286025   6.237248  0.023642    1.336380       0.931356  \n",
       "19  0.028157    0.614000   6.237248  0.023642    2.335645       0.880029  \n",
       "20  0.033231    0.601883   3.693730  0.024235    2.102528       0.771889  \n",
       "21  0.033231    0.708605   5.207474  0.026850    2.964791       0.847724  \n",
       "22  0.033231    0.559156   6.162401  0.027839    2.062553       0.890659  \n",
       "23  0.033231    0.366240   6.162401  0.027839    1.484108       0.921324  \n",
       "24  0.033231    0.244215   5.207474  0.026850    1.261077       0.935229  \n",
       "25  0.033231    0.203940   3.693730  0.024235    1.186829       0.871236  \n",
       "26  0.030266    0.414226   2.927686  0.019928    1.465606       0.710335  \n",
       "27  0.030266    0.388388   2.383519  0.017568    1.368600       0.629508  \n",
       "28  0.030266    0.672554   2.030388  0.015359    2.042341       0.531397  \n",
       "29  0.030266    0.091371   2.030388  0.015359    1.051032       0.758847  \n",
       "30  0.030266    0.185741   2.383519  0.017568    1.132407       0.693448  \n",
       "31  0.030266    0.213915   2.927686  0.019928    1.179178       0.766945  \n",
       "32  0.031733    0.670110   2.023008  0.016047    2.027207       0.530824  \n",
       "33  0.031733    0.095801   2.023008  0.016047    1.053578       0.756160  \n",
       "34  0.029074    0.676387   2.041958  0.014836    2.066529       0.533193  \n",
       "35  0.029074    0.087771   2.041958  0.014836    1.049097       0.763020  \n",
       "36  0.028737    0.875233   5.371269  0.023387    6.708916       0.841453  \n",
       "37  0.028737    0.638587  11.662858  0.026273    2.615418       0.957339  \n",
       "38  0.028737    0.623756   4.408611  0.022219    2.281801       0.810513  \n",
       "39  0.028737    0.203111   4.408611  0.022219    1.197066       0.900592  \n",
       "40  0.028737    0.524846  11.662858  0.026273    2.009873       0.967217  \n",
       "41  0.028737    0.176360   5.371269  0.023387    1.174258       0.972250  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "result = association_rules(freq, metric=\"lift\", min_threshold=2)\n",
    "result"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 结果评估与分析"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据提升度排序"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>antecedents</th>\n",
       "      <th>consequents</th>\n",
       "      <th>antecedent support</th>\n",
       "      <th>consequent support</th>\n",
       "      <th>support</th>\n",
       "      <th>confidence</th>\n",
       "      <th>lift</th>\n",
       "      <th>leverage</th>\n",
       "      <th>conviction</th>\n",
       "      <th>zhangs_metric</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.608491</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>2.206653</td>\n",
       "      <td>0.853849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.405752</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>1.530106</td>\n",
       "      <td>0.898658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.436756</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.486128</td>\n",
       "      <td>0.725659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.364728</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.359930</td>\n",
       "      <td>0.748955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.217479</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.207950</td>\n",
       "      <td>0.866086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.540480</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.880061</td>\n",
       "      <td>0.791576</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.516846</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.732478</td>\n",
       "      <td>0.753058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.287805</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.276705</td>\n",
       "      <td>0.818023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.232066</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>1.230894</td>\n",
       "      <td>0.889978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.599665</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>2.144489</td>\n",
       "      <td>0.808317</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>(1037)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.035463</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.032437</td>\n",
       "      <td>0.914655</td>\n",
       "      <td>6.464644</td>\n",
       "      <td>0.027419</td>\n",
       "      <td>10.059358</td>\n",
       "      <td>0.876392</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1037)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.035463</td>\n",
       "      <td>0.032437</td>\n",
       "      <td>0.229257</td>\n",
       "      <td>6.464644</td>\n",
       "      <td>0.027419</td>\n",
       "      <td>1.251437</td>\n",
       "      <td>0.984623</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.841429</td>\n",
       "      <td>5.163819</td>\n",
       "      <td>0.037150</td>\n",
       "      <td>5.278738</td>\n",
       "      <td>0.853053</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.282739</td>\n",
       "      <td>5.163819</td>\n",
       "      <td>0.037150</td>\n",
       "      <td>1.317856</td>\n",
       "      <td>0.963314</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>(1025)</td>\n",
       "      <td>(1026)</td>\n",
       "      <td>0.064904</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.035310</td>\n",
       "      <td>0.544041</td>\n",
       "      <td>5.526583</td>\n",
       "      <td>0.028921</td>\n",
       "      <td>1.977283</td>\n",
       "      <td>0.875906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>(1026)</td>\n",
       "      <td>(1025)</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.064904</td>\n",
       "      <td>0.035310</td>\n",
       "      <td>0.358696</td>\n",
       "      <td>5.526583</td>\n",
       "      <td>0.028921</td>\n",
       "      <td>1.458116</td>\n",
       "      <td>0.908489</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>(1038)</td>\n",
       "      <td>(1026)</td>\n",
       "      <td>0.033935</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.027301</td>\n",
       "      <td>0.804505</td>\n",
       "      <td>8.172467</td>\n",
       "      <td>0.023960</td>\n",
       "      <td>4.611662</td>\n",
       "      <td>0.908466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>(1026)</td>\n",
       "      <td>(1038)</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.033935</td>\n",
       "      <td>0.027301</td>\n",
       "      <td>0.277329</td>\n",
       "      <td>8.172467</td>\n",
       "      <td>0.023960</td>\n",
       "      <td>1.336799</td>\n",
       "      <td>0.973467</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>(1026)</td>\n",
       "      <td>(1041)</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.045858</td>\n",
       "      <td>0.028157</td>\n",
       "      <td>0.286025</td>\n",
       "      <td>6.237248</td>\n",
       "      <td>0.023642</td>\n",
       "      <td>1.336380</td>\n",
       "      <td>0.931356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>(1041)</td>\n",
       "      <td>(1026)</td>\n",
       "      <td>0.045858</td>\n",
       "      <td>0.098441</td>\n",
       "      <td>0.028157</td>\n",
       "      <td>0.614000</td>\n",
       "      <td>6.237248</td>\n",
       "      <td>0.023642</td>\n",
       "      <td>2.335645</td>\n",
       "      <td>0.880029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>(1003, 1001)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.601883</td>\n",
       "      <td>3.693730</td>\n",
       "      <td>0.024235</td>\n",
       "      <td>2.102528</td>\n",
       "      <td>0.771889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>(1003, 1018)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.708605</td>\n",
       "      <td>5.207474</td>\n",
       "      <td>0.026850</td>\n",
       "      <td>2.964791</td>\n",
       "      <td>0.847724</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>(1001, 1018)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.559156</td>\n",
       "      <td>6.162401</td>\n",
       "      <td>0.027839</td>\n",
       "      <td>2.062553</td>\n",
       "      <td>0.890659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1001, 1018)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.366240</td>\n",
       "      <td>6.162401</td>\n",
       "      <td>0.027839</td>\n",
       "      <td>1.484108</td>\n",
       "      <td>0.921324</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1003, 1018)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.244215</td>\n",
       "      <td>5.207474</td>\n",
       "      <td>0.026850</td>\n",
       "      <td>1.261077</td>\n",
       "      <td>0.935229</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1003, 1001)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.033231</td>\n",
       "      <td>0.203940</td>\n",
       "      <td>3.693730</td>\n",
       "      <td>0.024235</td>\n",
       "      <td>1.186829</td>\n",
       "      <td>0.871236</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>(1008, 1018)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.073066</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.414226</td>\n",
       "      <td>2.927686</td>\n",
       "      <td>0.019928</td>\n",
       "      <td>1.465606</td>\n",
       "      <td>0.710335</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>(1008, 1009)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.077927</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.388388</td>\n",
       "      <td>2.383519</td>\n",
       "      <td>0.017568</td>\n",
       "      <td>1.368600</td>\n",
       "      <td>0.629508</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>(1008)</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.672554</td>\n",
       "      <td>2.030388</td>\n",
       "      <td>0.015359</td>\n",
       "      <td>2.042341</td>\n",
       "      <td>0.531397</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>(1008)</td>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.091371</td>\n",
       "      <td>2.030388</td>\n",
       "      <td>0.015359</td>\n",
       "      <td>1.051032</td>\n",
       "      <td>0.758847</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1008, 1009)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.077927</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.185741</td>\n",
       "      <td>2.383519</td>\n",
       "      <td>0.017568</td>\n",
       "      <td>1.132407</td>\n",
       "      <td>0.693448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1008, 1018)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.073066</td>\n",
       "      <td>0.030266</td>\n",
       "      <td>0.213915</td>\n",
       "      <td>2.927686</td>\n",
       "      <td>0.019928</td>\n",
       "      <td>1.179178</td>\n",
       "      <td>0.766945</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>(1034, 1017)</td>\n",
       "      <td>(1008)</td>\n",
       "      <td>0.047356</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.031733</td>\n",
       "      <td>0.670110</td>\n",
       "      <td>2.023008</td>\n",
       "      <td>0.016047</td>\n",
       "      <td>2.027207</td>\n",
       "      <td>0.530824</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>(1008)</td>\n",
       "      <td>(1034, 1017)</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.047356</td>\n",
       "      <td>0.031733</td>\n",
       "      <td>0.095801</td>\n",
       "      <td>2.023008</td>\n",
       "      <td>0.016047</td>\n",
       "      <td>1.053578</td>\n",
       "      <td>0.756160</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>(1034, 1018)</td>\n",
       "      <td>(1008)</td>\n",
       "      <td>0.042984</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.029074</td>\n",
       "      <td>0.676387</td>\n",
       "      <td>2.041958</td>\n",
       "      <td>0.014836</td>\n",
       "      <td>2.066529</td>\n",
       "      <td>0.533193</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>(1008)</td>\n",
       "      <td>(1034, 1018)</td>\n",
       "      <td>0.331244</td>\n",
       "      <td>0.042984</td>\n",
       "      <td>0.029074</td>\n",
       "      <td>0.087771</td>\n",
       "      <td>2.041958</td>\n",
       "      <td>0.014836</td>\n",
       "      <td>1.049097</td>\n",
       "      <td>0.763020</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>(1009, 1035)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.875233</td>\n",
       "      <td>5.371269</td>\n",
       "      <td>0.023387</td>\n",
       "      <td>6.708916</td>\n",
       "      <td>0.841453</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.638587</td>\n",
       "      <td>11.662858</td>\n",
       "      <td>0.026273</td>\n",
       "      <td>2.615418</td>\n",
       "      <td>0.957339</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>(1035, 1018)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.623756</td>\n",
       "      <td>4.408611</td>\n",
       "      <td>0.022219</td>\n",
       "      <td>2.281801</td>\n",
       "      <td>0.810513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1035, 1018)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.046072</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.203111</td>\n",
       "      <td>4.408611</td>\n",
       "      <td>0.022219</td>\n",
       "      <td>1.197066</td>\n",
       "      <td>0.900592</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1009, 1018)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.045002</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.524846</td>\n",
       "      <td>11.662858</td>\n",
       "      <td>0.026273</td>\n",
       "      <td>2.009873</td>\n",
       "      <td>0.967217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1009, 1035)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.028737</td>\n",
       "      <td>0.176360</td>\n",
       "      <td>5.371269</td>\n",
       "      <td>0.023387</td>\n",
       "      <td>1.174258</td>\n",
       "      <td>0.972250</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     antecedents   consequents  antecedent support  consequent support  \\\n",
       "0         (1003)        (1001)            0.090737            0.136075   \n",
       "1         (1001)        (1003)            0.136075            0.090737   \n",
       "2         (1001)        (1018)            0.136075            0.162947   \n",
       "3         (1018)        (1001)            0.162947            0.136075   \n",
       "4         (1001)        (1035)            0.136075            0.054754   \n",
       "5         (1035)        (1001)            0.054754            0.136075   \n",
       "6         (1003)        (1018)            0.090737            0.162947   \n",
       "7         (1018)        (1003)            0.162947            0.090737   \n",
       "8         (1009)        (1035)            0.141486            0.054754   \n",
       "9         (1035)        (1009)            0.054754            0.141486   \n",
       "10        (1037)        (1009)            0.035463            0.141486   \n",
       "11        (1009)        (1037)            0.141486            0.035463   \n",
       "12        (1035)        (1018)            0.054754            0.162947   \n",
       "13        (1018)        (1035)            0.162947            0.054754   \n",
       "14        (1025)        (1026)            0.064904            0.098441   \n",
       "15        (1026)        (1025)            0.098441            0.064904   \n",
       "16        (1038)        (1026)            0.033935            0.098441   \n",
       "17        (1026)        (1038)            0.098441            0.033935   \n",
       "18        (1026)        (1041)            0.098441            0.045858   \n",
       "19        (1041)        (1026)            0.045858            0.098441   \n",
       "20  (1003, 1001)        (1018)            0.055212            0.162947   \n",
       "21  (1003, 1018)        (1001)            0.046897            0.136075   \n",
       "22  (1001, 1018)        (1003)            0.059431            0.090737   \n",
       "23        (1003)  (1001, 1018)            0.090737            0.059431   \n",
       "24        (1001)  (1003, 1018)            0.136075            0.046897   \n",
       "25        (1018)  (1003, 1001)            0.162947            0.055212   \n",
       "26  (1008, 1018)        (1009)            0.073066            0.141486   \n",
       "27  (1008, 1009)        (1018)            0.077927            0.162947   \n",
       "28  (1009, 1018)        (1008)            0.045002            0.331244   \n",
       "29        (1008)  (1009, 1018)            0.331244            0.045002   \n",
       "30        (1018)  (1008, 1009)            0.162947            0.077927   \n",
       "31        (1009)  (1008, 1018)            0.141486            0.073066   \n",
       "32  (1034, 1017)        (1008)            0.047356            0.331244   \n",
       "33        (1008)  (1034, 1017)            0.331244            0.047356   \n",
       "34  (1034, 1018)        (1008)            0.042984            0.331244   \n",
       "35        (1008)  (1034, 1018)            0.331244            0.042984   \n",
       "36  (1009, 1035)        (1018)            0.032834            0.162947   \n",
       "37  (1009, 1018)        (1035)            0.045002            0.054754   \n",
       "38  (1035, 1018)        (1009)            0.046072            0.141486   \n",
       "39        (1009)  (1035, 1018)            0.141486            0.046072   \n",
       "40        (1035)  (1009, 1018)            0.054754            0.045002   \n",
       "41        (1018)  (1009, 1035)            0.162947            0.032834   \n",
       "\n",
       "     support  confidence       lift  leverage  conviction  zhangs_metric  \n",
       "0   0.055212    0.608491   4.471743  0.042866    2.206653       0.853849  \n",
       "1   0.055212    0.405752   4.471743  0.042866    1.530106       0.898658  \n",
       "2   0.059431    0.436756   2.680353  0.037258    1.486128       0.725659  \n",
       "3   0.059431    0.364728   2.680353  0.037258    1.359930       0.748955  \n",
       "4   0.029593    0.217479   3.971940  0.022143    1.207950       0.866086  \n",
       "5   0.029593    0.540480   3.971940  0.022143    1.880061       0.791576  \n",
       "6   0.046897    0.516846   3.171866  0.032112    1.732478       0.753058  \n",
       "7   0.046897    0.287805   3.171866  0.032112    1.276705       0.818023  \n",
       "8   0.032834    0.232066   4.238341  0.025087    1.230894       0.889978  \n",
       "9   0.032834    0.599665   4.238341  0.025087    2.144489       0.808317  \n",
       "10  0.032437    0.914655   6.464644  0.027419   10.059358       0.876392  \n",
       "11  0.032437    0.229257   6.464644  0.027419    1.251437       0.984623  \n",
       "12  0.046072    0.841429   5.163819  0.037150    5.278738       0.853053  \n",
       "13  0.046072    0.282739   5.163819  0.037150    1.317856       0.963314  \n",
       "14  0.035310    0.544041   5.526583  0.028921    1.977283       0.875906  \n",
       "15  0.035310    0.358696   5.526583  0.028921    1.458116       0.908489  \n",
       "16  0.027301    0.804505   8.172467  0.023960    4.611662       0.908466  \n",
       "17  0.027301    0.277329   8.172467  0.023960    1.336799       0.973467  \n",
       "18  0.028157    0.286025   6.237248  0.023642    1.336380       0.931356  \n",
       "19  0.028157    0.614000   6.237248  0.023642    2.335645       0.880029  \n",
       "20  0.033231    0.601883   3.693730  0.024235    2.102528       0.771889  \n",
       "21  0.033231    0.708605   5.207474  0.026850    2.964791       0.847724  \n",
       "22  0.033231    0.559156   6.162401  0.027839    2.062553       0.890659  \n",
       "23  0.033231    0.366240   6.162401  0.027839    1.484108       0.921324  \n",
       "24  0.033231    0.244215   5.207474  0.026850    1.261077       0.935229  \n",
       "25  0.033231    0.203940   3.693730  0.024235    1.186829       0.871236  \n",
       "26  0.030266    0.414226   2.927686  0.019928    1.465606       0.710335  \n",
       "27  0.030266    0.388388   2.383519  0.017568    1.368600       0.629508  \n",
       "28  0.030266    0.672554   2.030388  0.015359    2.042341       0.531397  \n",
       "29  0.030266    0.091371   2.030388  0.015359    1.051032       0.758847  \n",
       "30  0.030266    0.185741   2.383519  0.017568    1.132407       0.693448  \n",
       "31  0.030266    0.213915   2.927686  0.019928    1.179178       0.766945  \n",
       "32  0.031733    0.670110   2.023008  0.016047    2.027207       0.530824  \n",
       "33  0.031733    0.095801   2.023008  0.016047    1.053578       0.756160  \n",
       "34  0.029074    0.676387   2.041958  0.014836    2.066529       0.533193  \n",
       "35  0.029074    0.087771   2.041958  0.014836    1.049097       0.763020  \n",
       "36  0.028737    0.875233   5.371269  0.023387    6.708916       0.841453  \n",
       "37  0.028737    0.638587  11.662858  0.026273    2.615418       0.957339  \n",
       "38  0.028737    0.623756   4.408611  0.022219    2.281801       0.810513  \n",
       "39  0.028737    0.203111   4.408611  0.022219    1.197066       0.900592  \n",
       "40  0.028737    0.524846  11.662858  0.026273    2.009873       0.967217  \n",
       "41  0.028737    0.176360   5.371269  0.023387    1.174258       0.972250  "
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result.sort_values('lift', ascending=False)\n",
    "result"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "找出提升度最高的10个关联规则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>antecedents</th>\n",
       "      <th>consequents</th>\n",
       "      <th>antecedent support</th>\n",
       "      <th>consequent support</th>\n",
       "      <th>support</th>\n",
       "      <th>confidence</th>\n",
       "      <th>lift</th>\n",
       "      <th>leverage</th>\n",
       "      <th>conviction</th>\n",
       "      <th>zhangs_metric</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.608491</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>2.206653</td>\n",
       "      <td>0.853849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.405752</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>1.530106</td>\n",
       "      <td>0.898658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.436756</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.486128</td>\n",
       "      <td>0.725659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.364728</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.359930</td>\n",
       "      <td>0.748955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.217479</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.207950</td>\n",
       "      <td>0.866086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.540480</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.880061</td>\n",
       "      <td>0.791576</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.516846</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.732478</td>\n",
       "      <td>0.753058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.287805</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.276705</td>\n",
       "      <td>0.818023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.232066</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>1.230894</td>\n",
       "      <td>0.889978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.599665</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>2.144489</td>\n",
       "      <td>0.808317</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  antecedents consequents  antecedent support  consequent support   support  \\\n",
       "0      (1003)      (1001)            0.090737            0.136075  0.055212   \n",
       "1      (1001)      (1003)            0.136075            0.090737  0.055212   \n",
       "2      (1001)      (1018)            0.136075            0.162947  0.059431   \n",
       "3      (1018)      (1001)            0.162947            0.136075  0.059431   \n",
       "4      (1001)      (1035)            0.136075            0.054754  0.029593   \n",
       "5      (1035)      (1001)            0.054754            0.136075  0.029593   \n",
       "6      (1003)      (1018)            0.090737            0.162947  0.046897   \n",
       "7      (1018)      (1003)            0.162947            0.090737  0.046897   \n",
       "8      (1009)      (1035)            0.141486            0.054754  0.032834   \n",
       "9      (1035)      (1009)            0.054754            0.141486  0.032834   \n",
       "\n",
       "   confidence      lift  leverage  conviction  zhangs_metric  \n",
       "0    0.608491  4.471743  0.042866    2.206653       0.853849  \n",
       "1    0.405752  4.471743  0.042866    1.530106       0.898658  \n",
       "2    0.436756  2.680353  0.037258    1.486128       0.725659  \n",
       "3    0.364728  2.680353  0.037258    1.359930       0.748955  \n",
       "4    0.217479  3.971940  0.022143    1.207950       0.866086  \n",
       "5    0.540480  3.971940  0.022143    1.880061       0.791576  \n",
       "6    0.516846  3.171866  0.032112    1.732478       0.753058  \n",
       "7    0.287805  3.171866  0.032112    1.276705       0.818023  \n",
       "8    0.232066  4.238341  0.025087    1.230894       0.889978  \n",
       "9    0.599665  4.238341  0.025087    2.144489       0.808317  "
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res_top10 = result.head(10)\n",
    "res_top10"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "新建dict, 存储页面id和页面名称"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'1287': 'International AutoRoute',\n",
       " '1288': 'library',\n",
       " '1289': 'Master Chef Product Information',\n",
       " '1297': 'Central America',\n",
       " '1215': 'For Developers Only Info',\n",
       " '1279': 'Multimedia Golf',\n",
       " '1239': 'Microsoft Consulting',\n",
       " '1282': 'home',\n",
       " '1251': 'Reference Support',\n",
       " '1121': 'Microsoft Magazine',\n",
       " '1083': 'MS Access Support',\n",
       " '1145': 'Visual Fox Pro Support',\n",
       " '1276': 'Visual Test Support',\n",
       " '1200': 'Benelux Region',\n",
       " '1259': 'controls',\n",
       " '1155': 'Sidewalk',\n",
       " '1092': 'Visual FoxPro',\n",
       " '1004': 'Microsoft.com Search',\n",
       " '1057': 'MS PowerPoint News',\n",
       " '1140': 'Netherlands (Holland)',\n",
       " '1198': 'Picture It',\n",
       " '1147': 'Microsoft Financial Forum',\n",
       " '1005': 'Norway',\n",
       " '1026': 'Internet Site Construction for Developers',\n",
       " '1119': 'Corporation Information',\n",
       " '1216': 'Virtual Reality Markup Language',\n",
       " '1218': 'MS Publisher Support',\n",
       " '1205': 'Hardware Supprt',\n",
       " '1269': 'Customer Guides',\n",
       " '1031': 'MS Office',\n",
       " '1003': 'Knowledge Base',\n",
       " '1238': 'Excel Development',\n",
       " '1118': 'SQL Server',\n",
       " '1242': 'MS Garden',\n",
       " '1171': 'MS Merchant',\n",
       " '1175': 'MS Project Support',\n",
       " '1021': 'Visual C',\n",
       " '1222': 'MS Office News',\n",
       " '1284': 'partner',\n",
       " '1294': 'Bookshelf',\n",
       " '1053': 'Jakarta',\n",
       " '1293': 'Encarta',\n",
       " '1167': 'Windows Hardware Testing',\n",
       " '1202': 'Advanced Technology',\n",
       " '1234': 'Office Free Stuff News',\n",
       " '1054': 'Exchange',\n",
       " '1262': 'Chile',\n",
       " '1074': 'Windows NT Workstation',\n",
       " '1027': 'Internet Development',\n",
       " '1061': 'promo',\n",
       " '1236': 'Developing for Global Markets',\n",
       " '1212': 'World Wide Offices',\n",
       " '1204': 'MS Schedule+',\n",
       " '1196': 'ie40',\n",
       " '1188': 'Korea',\n",
       " '1228': 'Visual Test',\n",
       " '1078': 'NT Server Support',\n",
       " '1008': 'Free Downloads',\n",
       " '1052': 'MS Word News',\n",
       " '1091': 'Windows Hardware Development',\n",
       " '1280': 'MS Interactive Music Control',\n",
       " '1247': 'Wine Guide',\n",
       " '1064': 'MS Site Builder Workshop',\n",
       " '1065': 'Java Strategy and Info',\n",
       " '1133': 'FrontPage Support',\n",
       " '1102': 'Microsoft Home Essentials',\n",
       " '1132': 'MS Money Support',\n",
       " '1240': 'Thailand',\n",
       " '1225': 'Anti Piracy Information',\n",
       " '1130': 'IT Technical Information',\n",
       " '1157': 'Windows 32 bit developer',\n",
       " '1058': 'SP Referral (ART)',\n",
       " '1076': 'NT Workstation Support',\n",
       " '1163': 'Open Type',\n",
       " '1187': 'ODBC Development',\n",
       " '1152': 'Russia',\n",
       " '1139': 'MS in K-12 Education',\n",
       " '1223': 'Finland',\n",
       " '1001': 'Support Desktop',\n",
       " '1043': 'Connecting Small Business',\n",
       " '1165': 'Poland',\n",
       " '1194': 'China',\n",
       " '1138': 'Developer Magazine',\n",
       " '1158': 'Interactive Media Technologies',\n",
       " '1094': 'Microsoft Home',\n",
       " '1055': 'MSHome Kids Stuff',\n",
       " '1277': 'NetShow for PowerPoint',\n",
       " '1143': 'Site Builder Workshop',\n",
       " '1068': 'VBScript Development',\n",
       " '1229': 'Uruguay',\n",
       " '1177': 'Master Marketing Calendar',\n",
       " '1014': 'Office Free Stuff',\n",
       " '1019': 'MS PowerPoint',\n",
       " '1122': 'Microsoft User Group Program',\n",
       " '1041': 'Developer Workshop',\n",
       " '1033': 'MS Store Logo Merchandise',\n",
       " '1233': 'vbscripts',\n",
       " '1211': 'SMSMGT Support',\n",
       " '1199': 'feedback',\n",
       " '1024': 'Internet Information Server',\n",
       " '1179': 'Colombia',\n",
       " '1067': 'FrontPage',\n",
       " '1181': 'Kids Support',\n",
       " '1174': 'New Zealand',\n",
       " '1162': 'IIS Support',\n",
       " '1046': 'IE Support',\n",
       " '1197': 'SQL Support',\n",
       " '1231': 'Windows NT Developer Support',\n",
       " '1141': 'Europe',\n",
       " '1120': 'Switching from Competitive Products',\n",
       " '1112': 'Canada',\n",
       " '1142': 'South Africa',\n",
       " '1250': 'Middle East',\n",
       " '1214': 'MS Financial Services',\n",
       " '1190': 'Repository',\n",
       " '1098': 'For Developers Only',\n",
       " '1263': 'Educational Services & Programs',\n",
       " '1049': 'Support Network Program Information',\n",
       " '1073': 'Taiwan',\n",
       " '1166': 'Mexico',\n",
       " '1226': 'MS Schedule+ Support',\n",
       " '1184': 'MS Excel Support',\n",
       " '1025': \"Web Site Builder's Gallery\",\n",
       " '1160': 'Visual C Support',\n",
       " '1156': 'Powered by BackOffice',\n",
       " '1268': 'javascript',\n",
       " '1220': 'Mac Office Support',\n",
       " '1060': 'MS Word',\n",
       " '1203': 'Denmark',\n",
       " '1176': 'Java Script Development',\n",
       " '1168': 'Sales Information (infobase)',\n",
       " '1066': 'Music Producer',\n",
       " '1128': 'MS Solutions Framework',\n",
       " '1275': 'security.',\n",
       " '1136': 'WorldWide Offices - US Districts',\n",
       " '1146': 'Microsoft Solution Providers',\n",
       " '1237': 'Developer Days',\n",
       " '1081': 'Access Development',\n",
       " '1016': 'MS Excel',\n",
       " '1069': 'Windows CE',\n",
       " '1148': 'Channel Resources',\n",
       " '1161': 'Works Support',\n",
       " '1013': 'Visual Basic Support',\n",
       " '1116': 'Switzerland',\n",
       " '1093': 'VBA Development',\n",
       " '1249': 'Fortran Support',\n",
       " '1095': 'Product Catalog',\n",
       " '1023': 'Spain',\n",
       " '1192': 'Visual J++ Support',\n",
       " '1080': 'Brazil',\n",
       " '1050': 'Macintosh Office',\n",
       " '1255': 'Message Queue Server',\n",
       " '1273': 'mdn',\n",
       " '1206': 'Volume Purchasing Options',\n",
       " '1230': 'Mail Support',\n",
       " '1172': 'Belgium',\n",
       " '1011': 'MS Office Development',\n",
       " '1009': 'Windows Family of OSs',\n",
       " '1096': 'Microsoft Press',\n",
       " '1235': 'MS Training Evaluation',\n",
       " '1070': 'ActiveX Technology Development',\n",
       " '1154': 'MS Project',\n",
       " '1099': 'Executive Computing',\n",
       " '1186': 'Job Listings for Pre-Grads',\n",
       " '1291': 'news',\n",
       " '1256': 'Solutions in Action',\n",
       " '1270': 'developr',\n",
       " '1232': 'SiteBuilder Network Specs & Standards',\n",
       " '1159': 'Transaction Server',\n",
       " '1035': 'Windows95 Support',\n",
       " '1164': 'Systems Management Server',\n",
       " '1077': 'MS Office Support',\n",
       " '1295': 'Training',\n",
       " '1056': 'sports',\n",
       " '1006': 'misc',\n",
       " '1272': 'softlib',\n",
       " '1123': 'Germany',\n",
       " '1151': 'MS PowerPoint Support',\n",
       " '1103': 'MS Works',\n",
       " '1243': 'MS Usability Group',\n",
       " '1244': 'Developer Newswire',\n",
       " '1260': 'Exchange Trial',\n",
       " '1258': 'Peru',\n",
       " '1208': 'Israel',\n",
       " '1106': 'Czech Republic',\n",
       " '1124': 'Industry Marketing Information (Vertical)',\n",
       " '1114': 'Service Advantage',\n",
       " '1012': 'Outlook Development',\n",
       " '1045': 'NetMeeting',\n",
       " '1082': 'MS Access',\n",
       " '1261': \"MS's Complete Do It Yourself Guide\",\n",
       " '1137': 'About Microsoft ',\n",
       " '1059': 'Sweden',\n",
       " '1037': 'Windows 95',\n",
       " '1227': 'Argentina',\n",
       " '1281': 'IntelliMouse',\n",
       " '1134': 'BackOffice',\n",
       " '1044': 'Developer Media Development',\n",
       " '1028': 'OLE Development',\n",
       " '1248': 'Softimage ',\n",
       " '1085': 'Exchange Support',\n",
       " '1131': 'MS Money Information',\n",
       " '1079': 'Australia',\n",
       " '1048': 'MS Publisher',\n",
       " '1042': 'Visual Studio',\n",
       " '1075': 'Job Openings',\n",
       " '1201': 'MS Hardware',\n",
       " '1105': 'France',\n",
       " '1153': 'Venezuela',\n",
       " '1292': 'MS North Africa',\n",
       " '1015': 'Excel',\n",
       " '1290': 'Activate the Internet Conference',\n",
       " '1017': 'Products ',\n",
       " '1010': 'Visual Basic',\n",
       " '1126': 'Media Manager',\n",
       " '1144': 'For Developers Only News',\n",
       " '1191': 'Management',\n",
       " '1002': 'End User Produced View',\n",
       " '1213': 'Corporate Customers',\n",
       " '1084': 'UK',\n",
       " '1178': 'msdownload.',\n",
       " '1036': 'Corporate Desktop Evaluation',\n",
       " '1257': 'Professional Developers Series',\n",
       " '1180': 'Slovenija',\n",
       " '1246': 'Developer Media Games',\n",
       " '1088': 'OutLook',\n",
       " '1117': 'Sidewinder',\n",
       " '1097': 'Latin America Region',\n",
       " '1266': 'Licenses and Piracy',\n",
       " '1072': 'Visual InterDev',\n",
       " '1169': 'MS Project',\n",
       " '1107': 'Slovakia',\n",
       " '1089': 'Office Reference',\n",
       " '1038': 'SiteBuilder Network Membership',\n",
       " '1224': 'Authorized Technical Education Center Program',\n",
       " '1086': 'OEM',\n",
       " '1108': 'MS TeamManager',\n",
       " '1007': 'International IE content',\n",
       " '1252': 'Community Affairs',\n",
       " '1283': 'Cinemainia',\n",
       " '1127': 'NetShow',\n",
       " '1189': 'Internet News',\n",
       " '1110': 'Mastering Series',\n",
       " '1090': 'Games Support',\n",
       " '1109': 'TechNet (World Wide Web Edition)',\n",
       " '1040': 'MS Office Info',\n",
       " '1150': 'Internet Information Server News',\n",
       " '1195': 'Portugal',\n",
       " '1111': 'Visual Source Safe',\n",
       " '1274': 'Professional Developer Conference',\n",
       " '1267': 'Caribbean',\n",
       " '1113': 'Internet Security Framework',\n",
       " '1245': 'Open Financial Connectivity',\n",
       " '1253': 'MS Word Development',\n",
       " '1087': 'MS Proxy Server',\n",
       " '1185': 'SNA Server',\n",
       " '1209': 'Turkey',\n",
       " '1063': 'Intranet Strategy',\n",
       " '1101': 'Microsoft OLE DB',\n",
       " '1264': 'MS Partner Web',\n",
       " '1032': 'Games',\n",
       " '1173': 'Microsoft OnLine Institute',\n",
       " '1051': 'MS Schedule+ News',\n",
       " '1278': 'MS in Higer Education',\n",
       " '1062': 'MS Access News',\n",
       " '1020': 'Developer Network',\n",
       " '1104': 'Hong Kong',\n",
       " '1071': 'N. American Automap',\n",
       " '1000': 'regwiz',\n",
       " '1135': 'MS Word Support',\n",
       " '1207': 'Internet Control Pack ',\n",
       " '1217': 'Ireland',\n",
       " '1254': 'ie3',\n",
       " '1022': 'Typography Site',\n",
       " '1183': 'Italy',\n",
       " '1170': 'Microsoft Mail',\n",
       " '1241': 'India',\n",
       " '1149': 'Advanced Data Connector',\n",
       " '1029': 'Clip Gallery Live',\n",
       " '1221': 'Microsoft TV Program Information',\n",
       " '1115': 'Hungary',\n",
       " '1125': 'ImageComposer',\n",
       " '1039': 'Internet Service Providers',\n",
       " '1034': 'Internet Explorer',\n",
       " '1265': 'Source Safe Support',\n",
       " '1271': 'mdsn',\n",
       " '1129': 'ActiveX Data Objects',\n",
       " '1018': 'isapi',\n",
       " '1193': 'Office Developer Support',\n",
       " '1219': 'Corporate Advertising Content',\n",
       " '1030': 'Windows NT Server',\n",
       " '1182': 'Fortran',\n",
       " '1100': 'MS in Education',\n",
       " '1210': 'SNA Support'}"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "title_dict = {}\n",
    "\n",
    "for item in all_list:\n",
    "    if item[0] == 'A':\n",
    "        title_dict[item[1]] = item[3]\n",
    "\n",
    "title_dict"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "根据得到的规则中的页面id，得到对应的页面名称"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Knowledge Base',\n",
       " 'Support Desktop',\n",
       " 'Support Desktop',\n",
       " 'isapi',\n",
       " 'Support Desktop',\n",
       " 'Windows95 Support',\n",
       " 'Knowledge Base',\n",
       " 'isapi',\n",
       " 'Windows Family of OSs',\n",
       " 'Windows95 Support']"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = []\n",
    "\n",
    "for i in res_top10['antecedents']:\n",
    "    for j in i:\n",
    "        a.append(title_dict[j])\n",
    "\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Support Desktop',\n",
       " 'Knowledge Base',\n",
       " 'isapi',\n",
       " 'Support Desktop',\n",
       " 'Windows95 Support',\n",
       " 'Support Desktop',\n",
       " 'isapi',\n",
       " 'Knowledge Base',\n",
       " 'Windows95 Support',\n",
       " 'Windows Family of OSs']"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "c = []\n",
    "\n",
    "for i in res_top10['consequents']:\n",
    "    for j in i:\n",
    "        c.append(title_dict[j])\n",
    "\n",
    "c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "res_top10.insert(0, 'antecedents_title', a)\n",
    "res_top10.insert(1, 'consequents_title', c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>antecedents_title</th>\n",
       "      <th>consequents_title</th>\n",
       "      <th>antecedents</th>\n",
       "      <th>consequents</th>\n",
       "      <th>antecedent support</th>\n",
       "      <th>consequent support</th>\n",
       "      <th>support</th>\n",
       "      <th>confidence</th>\n",
       "      <th>lift</th>\n",
       "      <th>leverage</th>\n",
       "      <th>conviction</th>\n",
       "      <th>zhangs_metric</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Knowledge Base</td>\n",
       "      <td>Support Desktop</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.608491</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>2.206653</td>\n",
       "      <td>0.853849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Support Desktop</td>\n",
       "      <td>Knowledge Base</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.055212</td>\n",
       "      <td>0.405752</td>\n",
       "      <td>4.471743</td>\n",
       "      <td>0.042866</td>\n",
       "      <td>1.530106</td>\n",
       "      <td>0.898658</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Support Desktop</td>\n",
       "      <td>isapi</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.436756</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.486128</td>\n",
       "      <td>0.725659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>isapi</td>\n",
       "      <td>Support Desktop</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.059431</td>\n",
       "      <td>0.364728</td>\n",
       "      <td>2.680353</td>\n",
       "      <td>0.037258</td>\n",
       "      <td>1.359930</td>\n",
       "      <td>0.748955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Support Desktop</td>\n",
       "      <td>Windows95 Support</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.217479</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.207950</td>\n",
       "      <td>0.866086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Windows95 Support</td>\n",
       "      <td>Support Desktop</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1001)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.136075</td>\n",
       "      <td>0.029593</td>\n",
       "      <td>0.540480</td>\n",
       "      <td>3.971940</td>\n",
       "      <td>0.022143</td>\n",
       "      <td>1.880061</td>\n",
       "      <td>0.791576</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Knowledge Base</td>\n",
       "      <td>isapi</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.516846</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.732478</td>\n",
       "      <td>0.753058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>isapi</td>\n",
       "      <td>Knowledge Base</td>\n",
       "      <td>(1018)</td>\n",
       "      <td>(1003)</td>\n",
       "      <td>0.162947</td>\n",
       "      <td>0.090737</td>\n",
       "      <td>0.046897</td>\n",
       "      <td>0.287805</td>\n",
       "      <td>3.171866</td>\n",
       "      <td>0.032112</td>\n",
       "      <td>1.276705</td>\n",
       "      <td>0.818023</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>Windows Family of OSs</td>\n",
       "      <td>Windows95 Support</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.232066</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>1.230894</td>\n",
       "      <td>0.889978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>Windows95 Support</td>\n",
       "      <td>Windows Family of OSs</td>\n",
       "      <td>(1035)</td>\n",
       "      <td>(1009)</td>\n",
       "      <td>0.054754</td>\n",
       "      <td>0.141486</td>\n",
       "      <td>0.032834</td>\n",
       "      <td>0.599665</td>\n",
       "      <td>4.238341</td>\n",
       "      <td>0.025087</td>\n",
       "      <td>2.144489</td>\n",
       "      <td>0.808317</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       antecedents_title      consequents_title antecedents consequents  \\\n",
       "0         Knowledge Base        Support Desktop      (1003)      (1001)   \n",
       "1        Support Desktop         Knowledge Base      (1001)      (1003)   \n",
       "2        Support Desktop                  isapi      (1001)      (1018)   \n",
       "3                  isapi        Support Desktop      (1018)      (1001)   \n",
       "4        Support Desktop      Windows95 Support      (1001)      (1035)   \n",
       "5      Windows95 Support        Support Desktop      (1035)      (1001)   \n",
       "6         Knowledge Base                  isapi      (1003)      (1018)   \n",
       "7                  isapi         Knowledge Base      (1018)      (1003)   \n",
       "8  Windows Family of OSs      Windows95 Support      (1009)      (1035)   \n",
       "9      Windows95 Support  Windows Family of OSs      (1035)      (1009)   \n",
       "\n",
       "   antecedent support  consequent support   support  confidence      lift  \\\n",
       "0            0.090737            0.136075  0.055212    0.608491  4.471743   \n",
       "1            0.136075            0.090737  0.055212    0.405752  4.471743   \n",
       "2            0.136075            0.162947  0.059431    0.436756  2.680353   \n",
       "3            0.162947            0.136075  0.059431    0.364728  2.680353   \n",
       "4            0.136075            0.054754  0.029593    0.217479  3.971940   \n",
       "5            0.054754            0.136075  0.029593    0.540480  3.971940   \n",
       "6            0.090737            0.162947  0.046897    0.516846  3.171866   \n",
       "7            0.162947            0.090737  0.046897    0.287805  3.171866   \n",
       "8            0.141486            0.054754  0.032834    0.232066  4.238341   \n",
       "9            0.054754            0.141486  0.032834    0.599665  4.238341   \n",
       "\n",
       "   leverage  conviction  zhangs_metric  \n",
       "0  0.042866    2.206653       0.853849  \n",
       "1  0.042866    1.530106       0.898658  \n",
       "2  0.037258    1.486128       0.725659  \n",
       "3  0.037258    1.359930       0.748955  \n",
       "4  0.022143    1.207950       0.866086  \n",
       "5  0.022143    1.880061       0.791576  \n",
       "6  0.032112    1.732478       0.753058  \n",
       "7  0.032112    1.276705       0.818023  \n",
       "8  0.025087    1.230894       0.889978  \n",
       "9  0.025087    2.144489       0.808317  "
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res_top10"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到，关联度从高到低的规则有：\n",
    "1. Knowledge Base, Support Desktop\n",
    "2. isapi, Support Desktop\n",
    "3. Windows95 Support, Support Desktop\n",
    "4. isapi, Knowledge Base\n",
    "5. Windows Family of OSs, Windows95 Support\n",
    "\n",
    "将以上有关联的页面放在一起，这样优化网站导航结构，可以提升用户体验。"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.16"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
